我想知道在iOS中改变UITextField(和UITextView如果答案相同)中的光标/插入符号的颜色。我看到过OSX开发的答案,但没有iOS的答案。
这可能吗?
我想知道在iOS中改变UITextField(和UITextView如果答案相同)中的光标/插入符号的颜色。我看到过OSX开发的答案,但没有iOS的答案。
这可能吗?
当前回答
试试,这对我很有用。
[[self.textField valueForKey:@"textInputTraits"] setValue:[UIColor redColor] strong textforKey:@"insertionPointColor"];
其他回答
这只能通过访问私有财产来实现,因此可能会导致苹果AppStore应用程序被拒绝。
看看这个Stackoverflow的问题
如果UITextField来自UISearchBar,那么首先从searchBar获得textField,然后应用tintColor属性:
let textFieldInsideSearchBar = searchBar.value(forKey: "searchField") as? UITextField
textFieldInsideSearchBar?.tintColor = UIColor.lightGray
对于在SwiftUI中搜索Textfield的人来说,这是accentColor:
TextField("Label", text: $self.textToBind).accentColor(Color.red)
注意:这个答案已经过时了,应该只用于ios 7之前的开发。查看iOS 7中使用外观代理的1行解决方案的其他答案。
我是在一个项目中遇到同样的问题后想到这个问题的。
我设法创建了一个解决方案,它将被AppStore审查团队接受,因为它不使用任何现有的私有api。
我已经创建了一个名为DGTextField扩展UITextField控件。
在iOS7中,你可以简单地改变textField的tintColor