按下Uitextfield的小交叉按钮时的动作
-
25-10-2019 - |
题
我可以添加一个小的十字按钮,该按钮可在单击中单击一次清除所有文本 UITextField
使用以下代码。
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
我也实施了 UITextFieldDelegate
.
我想激活/停用该的正确条按钮 UINavigationBar
根据我的变化 UITextField
. 。规则很简单:如果文本字段至少具有一个字符,则只需启用按钮,否则将其禁用。
我实施了 UITextField
的代表方法 textField:shouldChangeCharactersInRange:
不断检查要求并更新按钮的状态。
现在我的问题是,当我单击文本字段上的小交叉按钮时,该方法 textField:shouldChangeCharactersInRange:
不称呼。因此缺少所需的动作。如何确定“清除”按钮的热门事件?
一些图片显示我在说什么。
初始阶段:在这里,“完成”按钮被禁用,因为文本字段中没有字母
键入字母时,启用了“完成”按钮
现在,如果我单击“清除”按钮,则仍然启用“完成”按钮。这是错误的。
解决方案
询问代表是否应删除文本字段的当前内容。
- (BOOL)textFieldShouldClear:(UITextField *)textField
参数
textField
包含文本的文本字段。
返回值
YES
如果要清除文本字段的内容;否则,NO
.讨论
文本字段称此方法响应用户按内置清除按钮。 (默认情况下未显示此按钮,但可以通过更改中的值来启用
clearButtonMode
文本字段的属性。)在编辑开始时也调用此方法clearsOnBeginEditing
文本字段的属性设置为YES
.代表实施此方法是可选的。如果不存在,则清除文本,好像此方法已返回
YES
。可用性* Available in iOS 2.0 and later.
在uitextfield.h中声明
其他提示
您可以使用 textFieldShouldClear:
当用户点击清除按钮时,委托方法可以处理。