#ios #uitextfield #swift
#iOS #uitextfield #swift
Вопрос:
У меня есть объект UITextField со свойством text, установленным в «hi». Однако эти две строки не влияют на то, где находится «hi»
myUITextObject.contentVerticalAlignment = UIControlContentVerticalAlignment.Center
myUITextObject.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Center
Это ошибка в Swift? Если да, то как мне зарегистрировать это как ошибку, чтобы Apple могла исправить это в следующем выпуске Swift?
Комментарии:
1. @dasdom да, и это не сработало
Ответ №1:
Вы хотели бы написать это следующим образом:
myUITextObject.textAlignment = .center
(Отредактировано для изменения с .Center на .center)
Комментарии:
1. Обратите также внимание, что для myUITextObject.contentVerticalAlignment может быть установлено значение . Top, .Center, .Fill или .Bottom для изменения выравнивания по вертикали
2. Это центрирует текст только по горизонтали и
myUITextObject.contentVerticalAlignment
больше не имеет значения. Есть идеи, как добиться вертикального центрирования без выполнения странного взлома смещения.3. Изменено на myUITextObject.alignment = .center
Ответ №2:
То, что вы ищете, — это свойство textAlignment; попробуйте это:
myUITextObject.textAlignment = NSTextAlignmentCenter;
Комментарии:
1. Код, показанный в этом ответе, не будет работать в Swift (это было бы в Objective-C).
2. @Anna ты права, и я изменил правильный ответ на ответ Дейва
3. @Anna просто любопытно, почему код, который я впервые вставил, не работал, из других сообщений SO казалось, что это был способ сделать это. И наличие двух разных способов сделать одно и то же кажется странным.
4. В Swift это выглядело бы так: TextField.textAlignment = NSTextAlignment. Центрировать;
Ответ №3:
Другой способ сделать это — использовать раскадровку.
На самом деле существует вертикальный и горизонтальный элементы управления, которые вы можете использовать для выравнивания вашего элемента внутри UITextField
. В приведенном выше случае выровняйте текст по верхнему левому краю:
Надеюсь, это поможет,
Ответ №4:
Swift 5 2021
yourTextField.attributedText = NSAttributedString(string: "String for textfield", attributes: [.paragraphStyle: paragraphStyle])