У меня очень странная проблема с поведением моего текстового поля в моем приложении. По какой-то причине, независимо от того, что я пробовал (изменение шрифта, исправление вертикального выравнивания содержимого, удаление стиля рамки и т. Д. 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