У меня есть два 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, а у второго отключено это свойство.
А вот макет результата:
Почему первый UITextField имеет ширину, которая точно такая же, как для текстового поля с отключенным isSecureTextEntry (ниже)? Есть ли способ заставить первое текстовое поле настроить его ширину в соответствии с фактическим содержимым - маркеры, заменяющие исходный текст?
Это проблематично, потому что я хотел бы добавить rightView для отображения / скрытия пароля сразу после содержимого текстового поля.