2012-05-08 70 views
1

我在XIB中遇到問題。我的佔位符顏色在界面生成器中默認爲灰色,但是當我運行應用程序時,文本的顏色爲白色,而我無法看到它,因爲背景是白色的。UITextField佔位符字體顏色白色iOS 5?

有沒有人有解決這個問題?

回答

5

您可以覆蓋drawPlaceholderInRect:(CGRect)rect這樣手動渲染UITextField

- (void) drawPlaceholderInRect:(CGRect)rect { 
    [[UIColor blueColor] setFill]; 
    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]]; 
} 
+0

當你重寫,這是否意味着你必須創建'UITextField'的一個子類?比如,說'CustomTextField'? – James

+0

我有這個錯誤::CGContextSetFillColorWithColor:無效的上下文0x0 請告訴我如何解決它? – Bimawa

+0

[activeView.layer renderInContext:UIGraphicsGetCurrentContext()]; – Aseem

1

佔位符文本上述解決方案並沒有爲我工作,我用以下解決方法。

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

但後來我認識了另一個錯誤,上面做的工作,但它也重置所有其他標籤的顏色默認的黑色。然後我不得不將子類UILabel類和我的視圖中的所有其他標籤中使用我的類。

0

在語法快速修復:

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