1

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

有人对此有解决方案吗?

4

3 回答 3

5

您可以这样覆盖drawPlaceholderInRect:(CGRect)rect以手动呈现占位符文本UITextField

- (void) drawPlaceholderInRect:(CGRect)rect {
    [[UIColor blueColor] setFill];
    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]];
}
于 2012-05-08T09:52:11.007 回答
1

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

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

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

于 2013-04-13T20:29:47.807 回答
0

快速修复语法:

[[UILabel appearanceWhenContainedIn:[UITextField class], nil] setTextColor:[UIColor darkGrayColor]];
于 2014-10-07T18:12:06.747 回答