UITextField неверная ширина содержимого, когда свойство isSecureTextEntry установлено в true - PullRequest
0 голосов
/ 02 июля 2018

У меня есть два UITextFields, настроенные так:

let yellowPasswordTextField = UITextField()
view.addSubview(yellowPasswordTextField)
yellowPasswordTextField.placeholder = "Type"
yellowPasswordTextField.isSecureTextEntry = true
yellowPasswordTextField.backgroundColor = UIColor.yellow
yellowPasswordTextField.topToSuperview(offset: 30) // TinyConstraints api
yellowPasswordTextField.leftToSuperview()
yellowPasswordTextField.text = "mmmmmm"

let greenTextField = UITextField()
view.addSubview(greenTextField)
greenTextField.placeholder = "Type"
greenTextField.isSecureTextEntry = false
greenTextField.backgroundColor = UIColor.green
greenTextField.topToSuperview(offset: 60)
greenTextField.leftToSuperview()
greenTextField.text = "mmmmmm"

Обратите внимание, что оба настроены одинаково (включая текст), с той лишь разницей, что у первого включено свойство isSecureTextEntry, а у второго отключено это свойство.

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

enter image description here

Почему первый UITextField имеет ширину, которая точно такая же, как для текстового поля с отключенным isSecureTextEntry (ниже)? Есть ли способ заставить первое текстовое поле настроить его ширину в соответствии с фактическим содержимым - маркеры, заменяющие исходный текст?

Это проблематично, потому что я хотел бы добавить rightView для отображения / скрытия пароля сразу после содержимого текстового поля.

...