我有一个带有占位符的 UITextField
。当用户想要提交表单并且他/她没有在文本字段中输入任何内容时,我希望占位符的文本颜色变为红色。这是我的问题:
- 这会违反 Apple 的用户界面指南吗?我不希望我的应用因为如此小的细节而被拒绝。
- 我会怎么做?
我知道我可以在 UITextField
的子类中覆盖方法 drawPlaceholderInRect:
。但如果我这样做,文本将始终为红色,正如我之前所写,我希望它根据用户定义的操作变为红色。
我能想到的唯一解决方案是为我的UITextField
(占位符的文本)使用“默认”文本,只要用户没有输入任何内容就以浅灰色显示它,并且在我需要的时候显示为红色。换句话说,我只会 mock 占位符的行为。但当然,这不是很优雅。
有什么想法吗?
最佳答案
看看这个:
Digdog Dig - Change UITextField’s placeholder color without subclassing it
[self.MyTextField setValue:[UIColor darkGrayColor] forKeyPath:@"_placeholderLabel.textColor"];
关于iphone - 以编程方式更改 UITextField 的占位符文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7331604/