【问题标题】:UITextField Clear Button Calls didEndEditing TwiceUITextField 清除按钮调用 didEndEditing 两次
【发布时间】:2013-10-02 20:17:03
【问题描述】:

我有一个带有清除按钮的 UITextField。每当用户在文本字段上退出第一响应者时,它都会将更改提交给 Web 服务。

当用户点击清除按钮时,文本字段似乎会失去其第一响应者状态,从而导致调用 didEndEditing 委托方法。因此,使用旧的填充值进行了 Web 服务调用。然后,textfield被清空,再次调用didEndEditing,再次调用webservice。

为什么会这样?我希望清除按钮清空文本,然后在委托上调用 didEndEditing,这样您只会收到一条消息。

【问题讨论】:

  • “清除按钮”是指文本字段中嵌入的清除按钮还是您的自定义按钮?默认清除按钮应该只是清除字段中的文本,而不是调用 didEndEditing。处理键盘和文本字段的部分代码会有所帮助。
  • 为您正在谈论的语言和 ui-framework/device 添加标签。然后专家会注意到您的问题。

标签: ios objective-c uitextfield uitextfielddelegate


【解决方案1】:

如果您指的是 UITextField 上的内置清除按钮,当用户点击它时,会导致文本字段失去焦点,因为按钮本身接收到触摸 - 这会触发第一个 -didEndEditing。然后释放清除按钮会导致它清除文本字段,当实际清除文本时调用-didEndEditing 再次触发。是的,这绝对不够理想。

【讨论】:

    猜你喜欢
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    相关资源
    最近更新 更多