1

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

当用户点击清除按钮时,看起来,文本字段失去了它的第一响应者状态,导致 didEndEditing 委托方法被调用。因此,使用旧的填充值进行了 Web 服务调用。然后,清除文本字段,再次调用 didEndEditing,再次调用 web 服务。

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

4

1 回答 1

0

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

于 2013-10-23T21:30:31.110 回答