UITextField: сделать его выше и расположить ввод текста вертикально по центру - PullRequest
8 голосов
/ 10 сентября 2010

Высота по умолчанию UITextField со стилем границы UITextBorderStyleRoundedRect составляет 31 пикс.Для приложения для iPad я хотел бы создать UITextField с высотой 60 пикселей и расположить текст по центру, чтобы он выглядел хорошо (по умолчанию текст рисуется всего на несколько пикселей ниже верхней границы UITextField).1003 *

Если я сделаю следующее ...

UITextField *txtLogin = [[UITextField alloc] initWithFrame:CGRectMake(200,200,300,60)];
txtLogin.borderStyle = UITextBorderStyleRoundedRect;

... результат будет выглядеть следующим образом: http://grab.by/6jRc

Как видите, вводимый текст невертикально по центру.Я попытался найти решение и обнаружил, что мне просто нужно унаследовать свой собственный класс от UITextField и переопределить метод - (CGRect)textRectForBounds:(CGRect)bounds.Однако этот метод никогда не вызывается, и согласно этой ссылке в API Apple есть ошибка.Поэтому я ищу альтернативы, которые работают.

Что было бы хорошим решением для решения этой проблемы и достижения правильного вертикального выравнивания для входного текста?

1 Ответ

21 голосов
/ 28 октября 2010

[txtLogin setContentVerticalAlignment: UIControlContentVerticalAlignmentCenter];

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