在UITextView和UITextField中可以看到 - 闪烁的蓝线表示您键入的任何内容。我已经看到一些应用程序改变了这种颜色,并不确定如何做到这一点。如何更改颜色?
答案 0 :(得分:8)
在IOS 7中你可以简单地设置 tintColor ,它会改变视图和子视图中所有活动元素的颜色,包括光标颜色:
_textField.tintColor = [UIColor redColor];
答案 1 :(得分:2)
[[textField textInputTraits] setValue:[UIColor redColor] forKey:@"insertionPointColor"];
答案 2 :(得分:1)
试试这个:
[[textField valueForKey:@"textInputTraits"] setValue:CUSTOM_COLOR forKey:@"insertionPointColor"];
尽管它似乎没有记录,但它确实有效。坦白说,你不要使用任何 这里的私有方法 - 只有合法的键值编码。
P.S。昨天我的新应用程序出现在AppStore,没有遇到任何问题。当我使用KVC更改一些只读属性(如navigatonBar)或私有ivars时,这不是第一种情况。
答案 3 :(得分:0)
没有记录的方法来更改指针的颜色。 Hovewer,有一个无证件 textField的属性,即textInputTraits
,它是UITextInputTraits
个实例。
您可以尝试使用此代码来实现此功能,但您的应用可能会在审核过程中被拒绝。
[[textField textInputTraits] setValue:[UIColor redColor] forKey:@"insertionPointColor"];
答案 4 :(得分:0)
对于iOS 10 SDK,只有指标和Objective-C(有一天会被遗漏)我的工作解决方案是:
for (UIView *subView in self.sBar.subviews){
for (UIView *ndLevelSubView in subView.subviews){
if ([ndLevelSubView isKindOfClass:[UITextField class]])
{
UITextField * sbTextField = (UITextField *)ndLevelSubView;
[[sbTextField valueForKey:@"textInputTraits"] setValue:[UIColor n2pMainPurpleColor] forKey:@"insertionPointColor"];
break;
}
}
}
答案 5 :(得分:-1)
更改色调颜色,(iOS 7)
或以编程方式执行
myTextField.tintColor = [UIColor blackColor];