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 に答える