将isSecureTextEntry属性设置为true时,UITextField的内容宽度错误

时间:2018-07-02 13:55:24

标签: ios swift autolayout uitextfield

我有两个像这样配置的UITextField:

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以便在文本字段内容之后显示/隐藏密码。

0 个答案:

没有答案