UITextField clearButton在出现时调整文本字段的插入

时间:2016-12-09 02:43:05

标签: ios swift uitextfield

我有一个中心对齐的UITextField。我想在编辑时显示清除按钮,所以我使用:

textfield.clearButtomMode = .whileEditing

问题在于,当清除按钮出现时,它会将textField中的其余内容移动到左侧,这对于正在打字的人来说非常不和谐。

以下是插图:

enter image description here

任何线索如何使它不这样做,或者当textField成为第一响应者时出现清除按钮?

1 个答案:

答案 0 :(得分:1)

您可以覆盖clearButtonRect(forBounds:)以调用超级实现,然后存储清除按钮的大小。然后,您可以使用它来更新editingRect(forBounds bounds: CGRect)中文本字段的插入内容。假设按钮的宽度为10,因此如果向左侧和右侧添加10个点插入,文本将保持居中,并且不会与按钮重叠。唯一的缺点是文本将无法一直延伸到字段的左边缘,因为那边有插图。

https://developer.apple.com/reference/uikit/uitextfield/1619600-clearbuttonrect https://developer.apple.com/reference/uikit/uitextfield/1619589-editingrect