我有一些在iOS6
下工作正常的简单代码。在事件UITextField
到达的editingDidBegin
中,我执行了一段简单的代码,更改了输入文本的颜色:
textField.textColor = [UIColor redColor];
虽然执行了此代码,但文本颜色不会更改为红色,但在输入文本时保持默认颜色不变。
如果我在editingDidEnd
上调用此方法,则会以默认颜色输入文本,但在编辑时会更改为红色并启动同一段代码:
textField.textColor = [UIColor redColor];
当textColor
是第一响应者时,似乎无法更改textField
属性。
非常感谢任何帮助。
答案 0 :(得分:0)
你应该为那个
做一些子类化这是一个适用于ios6和ios7的好解决方案 http://www.brightec.co.uk/blog/how-change-colour-uitextfields-placeholder-text-ios7-and-still-support-ios6
答案 1 :(得分:0)
我找到了另一种方法来实现这一目标。我使用了UITextField委托方法并添加了以下代码。似乎我的原始方法应该已经转移到IOS7,但现在可以正常工作。
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
textField.textColor = [UIColor redColor];
return YES;
}
答案 2 :(得分:0)
[textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];
这将更改UITextField
,