UITextField 不会正确更改文本颜色

Posted

技术标签:

【中文标题】UITextField 不会正确更改文本颜色【英文标题】:UITextField won't change text color properly 【发布时间】:2012-01-31 03:08:53 【问题描述】:

我有一个UITextField,它是 Web 浏览器的地址栏。当用户加载页面并且页面完成加载时,我希望文本字段将文本颜色更改为深灰色。它做得很好。但是,当用户再次编辑文本字段时,我希望文本颜色变回黑色。使用-(BOOL) textFieldShouldBeginEditing:(UITextField *)textField 方法我尝试使用addressBar.textColor = [UIColor blackColor]; 更改颜色,但它不起作用。我做错了什么?

【问题讨论】:

是否设置了文本字段的委托以便调用该方法? 我想我没有。我回去检查一下 【参考方案1】:

textFieldShouldBeginEditing: 被调用了吗?如果没有,您需要将文本字段的委托设置为实现此方法的类。

在调用委托方法时是否将addressBar 设置为您的文本字段?

尝试使用 NSLog 调试。

【讨论】:

在该方法中,我将地址栏作为文本字段进行检查,但我认为您设置文本字段的委托可能是正确的。我不认为我已经这样做了。谢谢【参考方案2】:

可能在 ios 7 及更高版本上运行得更好的解决方案。

如果您的 UITextView 包含被检测为地址/电话号码/等的文本,您必须设置 tintColor 以更改检测到的项目的文本颜色,如下所示:

self.tvPhone.tintColor = [UIColor blueColor];

【讨论】:

这个问题是两年前回答的。正如我在对已接受答案的评论中所说,我没有设置 textField 的代表。

以上是关于UITextField 不会正确更改文本颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改 UITextField 中光标的颜色

UITextField 占位符颜色

UITextField 的键盘不会出现在 Swift 中的第一次点击时

我可以在UITextView和UITextField上面更改“复制”气泡的颜色吗? [重复]

更改 UITextField 的文本不会触发 rx.text 活页夹

UITextField:更改禁用文本字段的外观