2012-05-08 2 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 PLS скажите мне, как я могу это исправить? – Bimawa

+0

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

1

выше решение не работает для меня, я использовал следующий обходной путь.

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

Но потом я узнал еще одну ошибку, выше сделал работу, но также сбросить цвет всех других лейблов умолчанию Black. Затем мне пришлось подклассифицировать класс UILabel и использовать мой класс во всех других ярлыках, на мой взгляд.

0

Быстрое решение по синтаксису:

[[UILabel appearanceWhenContainedIn:[UITextField class], nil] setTextColor:[UIColor darkGrayColor]]; 
Смежные вопросы