UITextField占位符字体颜色白色iOS 5?

时间:2012-05-08 09:37:14

标签: ios5 interface-builder uitextfield xcode4.3 placeholder

我在XIB中遇到问题。我的占位符颜色的颜色在界面构建器中是默认的灰色,但是当我运行应用程序时,文本的颜色为白色,而且我看不到它,因为背景为白色。

有没有人有解决方案?

3 个答案:

答案 0 :(得分:5)

您可以覆盖drawPlaceholderInRect:(CGRect)rect,以便在UITextField

中手动呈现占位符文字
- (void) drawPlaceholderInRect:(CGRect)rect {
    [[UIColor blueColor] setFill];
    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]];
}

答案 1 :(得分:1)

上述解决方案对我不起作用,我使用了以下解决方法。

[UILabel appearanceWhenContainedIn:[UITextField class], nil] setTextColor:[UIColor darkGrayColor]];

但后来我又知道另一个错误,上面做了这个工作,但它也将所有其他标签的颜色重置为Default Black。然后我不得不对UILabel类进行子类化,并在我看来的所有其他标签中使用我的类。

答案 2 :(得分:0)

快速修复语法:

[[UILabel appearanceWhenContainedIn:[UITextField class], nil] setTextColor:[UIColor darkGrayColor]];