键入时在 BackSpace 上缩小 UITextField
Narrowing Down UITextField on BackSpace while typing
使用 Storyboard,我设置了一个 UITextField 和两个静态 UILabel。我设置了约束,以便静态标签随着用户在 TextField 中键入内容而展开。
[Label1] [TextField] [Label2]
[Label1] [TextFieldIsGettingFilled] [Label2]
到目前为止一切都很好。随着用户输入,TextField 变宽。但是,如果用户使用退格键(删除字符),TextField 不会变窄。所以它变成了:
[Label1] [TextField ] [Label2]
在用户仍在键入时检测退格键并相应地缩小 TextFields 宽度的方法是什么?
编辑
我做了一个例子并且这个有效(根据文本增加和减少):
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
textField.invalidateIntrinsicContentSize()
return true
}
来源:Resize a UITextField while typing (by using Autolayout)
使用 Storyboard,我设置了一个 UITextField 和两个静态 UILabel。我设置了约束,以便静态标签随着用户在 TextField 中键入内容而展开。
[Label1] [TextField] [Label2]
[Label1] [TextFieldIsGettingFilled] [Label2]
到目前为止一切都很好。随着用户输入,TextField 变宽。但是,如果用户使用退格键(删除字符),TextField 不会变窄。所以它变成了:
[Label1] [TextField ] [Label2]
在用户仍在键入时检测退格键并相应地缩小 TextFields 宽度的方法是什么?
编辑
我做了一个例子并且这个有效(根据文本增加和减少):
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
textField.invalidateIntrinsicContentSize()
return true
}
来源:Resize a UITextField while typing (by using Autolayout)