Я бы предложил другое решение. Так как текст заполнителя использует настройки шрифта по умолчанию для текстового поля, просто установите начальный цвет шрифта на нужный вам цвет шрифта заполнителя. Затем установите делегат вашего UITextField и реализуйте следующие методы:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//set color for text input
textField.textColor = [UIColor blackColor];
return YES;
}
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
//set color for placeholder text
textField.textColor = [UIColor redColor];
return YES;
}
Таким образом, если пользователь начинает вводить текстовое поле, цвет текста меняется на черный, и после того, как текстовое поле снова очищается, текст заполнителя снова отображается красным цветом.
Cheers,
Анка