Ril*_*eyE 215 colors cursor uitextfield uitextview ios
我想知道在iOS中更改光标/插入符号的颜色UITextField
(UITextView
如果它的答案相同).我已经看到了OSX开发的答案,但iOS没有.
这甚至可能吗?
Dis*_*Dev 493
如果您的目标是iOS 7+,则可以轻松实现这一目标.只需使用外观代理使用光标更改字段的tintColor,它将应用于整个应用程序:
Swift 3.0:
UITextField.appearance().tintColor = .black
Run Code Online (Sandbox Code Playgroud)
Objective-C的:
[[UITextField appearance] setTintColor:[UIColor blackColor]];
Run Code Online (Sandbox Code Playgroud)
相同的答案适用于单个UITextView:
Swift 3.0:
myTextField.tintColor = .black
Run Code Online (Sandbox Code Playgroud)
Objective-C的
[myTextField setTintColor:[UIColor blackColor]];
Run Code Online (Sandbox Code Playgroud)
Pet*_*inz 18
斯威夫特3:
UITextField.appearance().tintColor = UIColor.black
UITextView.appearance().tintColor = UIColor.black
Run Code Online (Sandbox Code Playgroud)
Dov*_*Dov 13
注意:此答案已过期,仅应用于iOS 7之前的开发.请参阅iOS 7中使用外观代理的1行解决方案的其他答案.
在我正在处理的项目中遇到同样的问题后,我到达了这个问题.
我设法创建了一个将被AppStore审核小组接受的解决方案,因为它不使用任何现有的私有API.
我创建了一个名为DGTextField的控件,它扩展了UITextField.
Dav*_*vid 11
yourTextField.tintColor = [UIColor whiteColor];
Run Code Online (Sandbox Code Playgroud)
如果你在代码中设置它,它会起作用,因为在某种程度上,颜色触发器在Interface Builder(Xcode 6.1.1)中没有这样做.它非常适合,无需更改任何外观代理.
设置tintColor
为UITextField
和UITextView
工作方式不同.虽然UITextField
您在更新后不需要调用其他代码tintColor
来更改光标颜色,但是UITextView
您需要.
因此,设置后tintColor
的UITextView
(它不IB或代码问题),你需要调用textView.tintColorDidChange()
,以应用它(实际上它会通过文本视图的配置到其子视图层次).
归档时间: |
|
查看次数: |
108479 次 |
最近记录: |