【问题标题】:UITextField clearButton adjust inset of textfield when it appearsUITextField clearButton 在出现时调整文本字段的插入
【发布时间】:2016-12-09 13:22:16
【问题描述】:

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

textfield.clearButtomMode = .whileEditing

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

这是一个插图:

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

【问题讨论】:

  • 您可以尝试将文本字段的宽度增加清除按钮的宽度以抵消文本的位移。或者只是将 clearButtonMode 设置为 .always
  • 制作自己的清除按钮,然后将其添加到didBeginEditting 的文本字段中,这完全没有那么难,但要注意向左移动是为了防止文本与该按钮重叠,并且正常的

标签: ios swift uitextfield


【解决方案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

【讨论】:

    猜你喜欢
    • 2022-12-18
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    相关资源
    最近更新 更多