UITextField 清除按钮调用 didEndEditing 两次
Posted
技术标签:
【中文标题】UITextField 清除按钮调用 didEndEditing 两次【英文标题】:UITextField Clear Button Calls didEndEditing Twice 【发布时间】:2013-10-02 20:17:03 【问题描述】:我有一个带有清除按钮的 UITextField。每当用户在文本字段上退出第一响应者时,它都会将更改提交给 Web 服务。
当用户点击清除按钮时,文本字段似乎会失去其第一响应者状态,从而导致调用 didEndEditing 委托方法。因此,使用旧的填充值进行了 Web 服务调用。然后,textfield被清空,再次调用didEndEditing,再次调用webservice。
为什么会这样?我希望清除按钮清空文本,然后在委托上调用 didEndEditing,这样您只会收到一条消息。
【问题讨论】:
“清除按钮”是指文本字段中嵌入的清除按钮还是您的自定义按钮?默认清除按钮应该只是清除字段中的文本,而不是调用 didEndEditing。处理键盘和文本字段的部分代码会有所帮助。 为您正在谈论的语言和 ui-framework/device 添加标签。然后专家会注意到您的问题。 【参考方案1】:如果您指的是 UITextField 上的内置清除按钮,当用户点击它时,会导致文本字段失去焦点,因为按钮本身接收到触摸 - 这会触发第一个 -didEndEditing
。然后释放清除按钮会导致它清除文本字段,当实际清除文本时调用-didEndEditing
再次触发。是的,这绝对不够理想。
【讨论】:
以上是关于UITextField 清除按钮调用 didEndEditing 两次的主要内容,如果未能解决你的问题,请参考以下文章