如何在UITextField
?
答案 0 :(得分:88)
使用iOS 7,您只需更改tintColor
的{{1}}属性即可。这将影响文本光标的颜色和文本选择高亮颜色。
您可以在代码中执行此操作...
UITextField
...
在Swift 4中:
textField.tintColor = [UIColor redColor];
...或在Interface Builder中:
您还可以使用textField.tintColor = UIColor.red
外观代理
UITextField
在Swift 4中:
[[UITextField appearance] setTintColor:[UIColor redColor]];
下面是模拟器截图,显示了普通iOS 7文本字段的外观,其色调设置为红色。
文字光标屏幕截图:
文字选择截图:
答案 1 :(得分:14)
在iOS中,UITextfield
具有textInputTraits
属性。 UITextInputTraits
的一个私有属性是insertionPointColor
。
因为它是一个未记录的属性,设置自定义颜色可能会使您的应用程序从App Store中被拒绝。如果这不是一个问题,这应该有效:
[[addNewCategoryTextField textInputTraits] setValue:[UIColor redColor]
forKey:@"insertionPointColor"];
答案 2 :(得分:6)
[[self.searchTextField valueForKey:@"textInputTraits"] setValue:[UIColor redColor] forKey:@"insertionPointColor"];
答案 3 :(得分:2)
如果您在Mac OS X上进行开发,则可以尝试使用setInsertionPointColor:
方法。有关详细信息,请参阅NSTextView参考。
答案 4 :(得分:2)
Durgesh的方法确实有效。
我也多次使用过这样的KVC解决方案。 尽管它似乎没有文档,但它的工作原理。坦白说,你不要使用任何 这里的私有方法 - 只有合法的键值编码。
与[addNewCategoryTextField textInputTraits]截然不同。
P.S。昨天我的新应用程序出现在AppStore,没有遇到任何问题。当我使用KVC更改一些只读属性(如navigatonBar)或私有ivars时,这不是第一种情况。
答案 5 :(得分:0)
要在整个option
应用中更改cursor
color
,外观代理也可以按以下方式使用,
UITextField/UITextView