UITextField IOS7在输入期间未设置字体颜色

时间:2014-03-10 15:52:32

标签: objective-c ios7 uitextfield

我有一些在iOS6下工作正常的简单代码。在事件UITextField到达的editingDidBegin中,我执行了一段简单的代码,更改了输入文本的颜色:

textField.textColor = [UIColor redColor];

虽然执行了此代码,但文本颜色不会更改为红色,但在输入文本时保持默认颜色不变。

如果我在editingDidEnd上调用此方法,则会以默认颜色输入文本,但在编辑时会更改为红色并启动同一段代码:

textField.textColor = [UIColor redColor];

textColor是第一响应者时,似乎无法更改textField属性。

非常感谢任何帮助。

3 个答案:

答案 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

的占位符颜色