2013-04-18 1 views
6

Я думаю, что мой вопрос связан с thread. У меня есть экран входа в систему с двумя UITextFields (user/pass). Оба горизонтально выровнены по центру с текстом-заполнителем. Когда я нажимаю поле, текст заполнителя немного перескакивает влево, а маркер позиционируется после первого символа (что выглядит ужасно).Текст в UITextField не будет правильно центрироваться

Text field in focus.

Когда я начинаю вводить текст, появляется кнопка очистки (как и должно быть), но текст не правильно центрирован в представлении UITextField.

Textfield with text

Проблема возникает только тогда, когда текстовое поле имеет первый ответчик.

Как я могу заставить текст штопа и текст заполнителя оставаться в центре текстового поля ???

UPDATE: Параметры поля Текст в раскадровке:

Text field settings in Storyboard

+0

удалить четкую кнопку =) Или добавить вид того же размера в 'leftView' и тот же режим отображения – Ossir

+0

Nooooo :) Разрешен, который решает проблему, но это не может быть единственным вариантом. Я бы очень хотел, чтобы кнопка очистки открывалась при редактировании – SkeetSkeet

+0

. Отправьте свой код для справки. – NANNAV

ответ

-1

Пожалуйста, смотрите выравнивание управления в изображении ниже и установите соответственно. enter image description here

0

У меня была такая же проблема, и я сделал то, что создал пользовательский элемент управления, у которого UITextField выше, а UILabel ниже обоих элементов управления имеет одинаковую ширину и высоту. Когда мне нужно отображать текстовый заполнитель, я устанавливаю метку alpha в 1, и когда мне нужно скрыть местозаполнитель, я установил alpha равным 0. Также я установил цвет inoput bg цвета, чтобы очистить цвет. Кроме того, чтобы сделать все это я реализую UITextFieldDelegate (textFieldDidBeginEditing/textFieldDidEndEditing/shouldChangeCharactersInRange)