iPhone UITextField - Изменить цвет текста заполнителя - PullRequest
537 голосов
/ 27 августа 2009

Я хотел бы изменить цвет текста заполнителя, который я установил в моих UITextField элементах управления, чтобы сделать его черным.

Я бы предпочел сделать это без использования обычного текста в качестве заполнителя и необходимости переопределять все методы для имитации поведения заполнителя.

Я верю, если переопределю этот метод:

- (void)drawPlaceholderInRect:(CGRect)rect

тогда я смогу сделать это. Но я не уверен, как получить доступ к фактическому объекту-заполнителю из этого метода.

Ответы [ 31 ]

0 голосов
/ 10 августа 2011

Я бы предложил другое решение. Так как текст заполнителя использует настройки шрифта по умолчанию для текстового поля, просто установите начальный цвет шрифта на нужный вам цвет шрифта заполнителя. Затем установите делегат вашего 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, Анка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...