在键入时缩小BackSpace上的UITextField

时间:2016-05-09 15:39:56

标签: ios swift autolayout uitextfield uitextfielddelegate

使用Storyboard,我设置了一个UITextField和两个静态UILabel。我设置了约束,因此静态标签在TextField中作为用户类型展开。

       [Label1] [TextField] [Label2]

[Label1] [TextFieldIsGettingFilled] [Label2]

到目前为止,一切都很好。当用户键入时,TextField会变宽。但是,如果用户使用退格(删除字符),TextField不会变得更窄。所以它变得像:

[Label1] [TextField         ] [Label2] 

当用户还在打字时,有什么方法可以检测退格和缩小TextFields的宽度?

1 个答案:

答案 0 :(得分:1)

修改

我做了一个例子,这可行(根据文字增加和减少):

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    textField.invalidateIntrinsicContentSize()
    return true
}

来源:Resize a UITextField while typing (by using Autolayout)