Как добиться этого стиля UITextField

У меня есть UITextField, чтобы позволить пользователю ввести 4 числа, которые возвращаются из текстового сообщения. Я правильно установил стиль UITextField и фоновое изображение, но понятия не имею, как красиво расположить эти четыре числа. Я хочу следующее: введите здесь описание изображения

Но результат таков:

введите здесь описание изображения

Вот мои настройки для UITextField. введите здесь описание изображения

Как красиво разделить цифры при наборе с клавиатуры, помогает?


person tounaobun    schedule 26.06.2015    source источник


Ответы (2)


Я предлагаю использовать атрибут NSKernAttributeName:

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"1234"];
[attributedString addAttribute:NSKernAttributeName value:@(30) range:NSMakeRange(0, 4)];
self.textField.attributedText = attributedString;  

введите здесь описание изображения

person Vlad Papko    schedule 26.06.2015
comment
Текст исправлен, как я могу добиться этого, когда пользователь вводит числа? - person tounaobun; 26.06.2015
comment
@BensonTommy Текст исправлен только в моем примере. Вы можете динамически изменить его. Просто добавьте необходимый атрибут в attributeText в текстовом поле. - person Vlad Papko; 26.06.2015

Я бы посоветовал вам разместить четыре текстовых поля в одном представлении, придать ему закругленные углы и добавить его в иерархию представлений. Ваш вид будет иметь желаемый фон, а ваши текстовые поля будут прозрачными (clearColor). Затем в вашем делегате, когда в одно текстовое поле введен текст, переместите курсор в следующее текстовое поле.

person Sergii Martynenko Jr    schedule 26.06.2015
comment
Кажется, что UIElement представляет собой сегментированный элемент управления с пользовательским рисунком, а не TextView - person vadian; 26.06.2015
comment
Ну, автор говорит, что это UITextField. И стиль границы соответствует UITextField - person Sergii Martynenko Jr; 26.06.2015
comment
Извините, что пользователь может удалить неправильный номер - person tounaobun; 26.06.2015