UITextField在开始编辑时具有“清除”按钮大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UITextField在开始编辑时具有“清除”按钮大小相关的知识,希望对你有一定的参考价值。

我有一个带有清除按钮的UITextField,我把它放在一个带有前导对齐的垂直堆栈视图中。编辑开始时,字段的大小没有考虑清除按钮,因此文本向左滚动。只要添加任何字符,该字段就会更正其大小。我不想修复字段宽度,因为我喜欢这种行为 - 当你总是在文本末尾有清除按钮时。

下面的函数更正了大小,但只有在文本字段更改后才会显示清除按钮:

func textFieldDidBeginEditing(_ textField: UITextField) {

    UIView.animate(withDuration: 0.4) {
        textField.sizeToFit()
    }
}

知道怎么纠正这个吗?先感谢您。

答案
func textFieldDidBeginEditing(_ textField: UITextField) {
    textField.invalidateIntrinsicContentSize()
}

以上是关于UITextField在开始编辑时具有“清除”按钮大小的主要内容,如果未能解决你的问题,请参考以下文章

占位符右对齐的 UITextField 不能正确向右移动

Swift - 出现清除按钮时禁用文本移位

UITextField 清除按钮与屏幕动画一起使用

UITextField 清除按钮调用 didEndEditing 两次

UITextField 具有焦点时未禁用 UIButton

布局 UITextField 无论清除按钮 X