Как я могу исправить текст UITextField, слегка смещенный относительно его заполнителя? - PullRequest
0 голосов
/ 02 апреля 2020

У меня очень странная проблема с поведением моего текстового поля в моем приложении. По какой-то причине, независимо от того, что я пробовал (изменение шрифта, исправление вертикального выравнивания содержимого, удаление стиля рамки и т. Д. c.), Текст моего текстового поля всегда будет смещен по вертикали относительно заполнителя текстового поля.

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

По некоторым причинам проблема не возникает при определенных размерах шрифта, но для адаптации к разным размерам экрана это неосуществимое решение.

Также мое текстовое поле находится внутри представление стека, я не знаю, будет ли это способствовать проблеме. Весь этот код помещен в пользовательский UIView, который назначен соответствующему контроллеру представления.

Любая помощь будет принята с благодарностью, так как я не могу решить эту проблему. Спасибо!

Код и изображения:

// Stack view both text fields are in
phoneFieldStackView.axis = .horizontal
phoneFieldStackView.alignment = .leading
phoneFieldStackView.spacing = 20
phoneFieldStackView.distribution = .fill

// Country code text field
countryTextField.placeholder = "USA +1"
countryTextField.font = UIFont(name: "Gotham-Black", size: 28)
countryTextField.tintColor = .white
countryTextField.textColor = .white
countryTextField.borderStyle = .none
countryTextField.delegate = self

// Phone number text field        
phoneTextField.keyboardType = .numberPad
phoneTextField.placeholder = "206-555-0123"
phoneTextField.font = UIFont(name: "Gotham-Black", size: 28)
phoneTextField.tintColor = .white
phoneTextField.textColor = .white
phoneTextField.borderStyle = .none
phoneTextField.delegate = self

Offset text Original placeholder

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