我想知道在iOS中改变UITextField(和UITextView如果答案相同)中的光标/插入符号的颜色。我看到过OSX开发的答案,但没有iOS的答案。
这可能吗?
我想知道在iOS中改变UITextField(和UITextView如果答案相同)中的光标/插入符号的颜色。我看到过OSX开发的答案,但没有iOS的答案。
这可能吗?
当前回答
试试,这对我很有用。
[[self.textField valueForKey:@"textInputTraits"] setValue:[UIColor redColor] strong textforKey:@"insertionPointColor"];
其他回答
在iOS7中,你可以简单地改变textField的tintColor
如果UITextField来自UISearchBar,那么首先从searchBar获得textField,然后应用tintColor属性:
let textFieldInsideSearchBar = searchBar.value(forKey: "searchField") as? UITextField
textFieldInsideSearchBar?.tintColor = UIColor.lightGray
试试,这对我很有用。
[[self.textField valueForKey:@"textInputTraits"] setValue:[UIColor redColor] strong textforKey:@"insertionPointColor"];
接口生成器版本与Swift
@IBOutlet weak var tvValue: UITextView! {
didSet {
tvValue.tintColor = .black
}
}
如果你的目标系统是iOS 7+,这就简单多了。简单地改变tintColor字段的游标使用外观代理,它将应用于整个应用程序:
斯威夫特3.0:
UITextField.appearance().tintColor = .black
objective - c:
[[UITextField appearance] setTintColor:[UIColor blackColor]];
同样的答案适用于一个单独的UITextField:
斯威夫特3.0:
myTextField.tintColor = .black
objective - c
[myTextField setTintColor:[UIColor blackColor]];