Con*_*sed 3 cocoa-touch uitextfield ios uitextfielddelegate
我可以使用UITextField以下代码添加一个小的十字按钮,用于在一次单击中清除所有文本.
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
Run Code Online (Sandbox Code Playgroud)
我也实施了UITextFieldDelegate.
我想UINavigationBar根据我的变化激活/停用右边的按钮UITextField.规则很简单:如果文本字段至少有一个字符,只需启用该按钮,否则禁用它.
我实现了UITextField委托方法textField:shouldChangeCharactersInRange:来不断检查需求并更新按钮的状态.
现在我的问题是,当我单击文本字段上的小十字按钮时,textField:shouldChangeCharactersInRange:不会调用该方法.因此缺少必要的操作.如何识别清除按钮的命中事件?
一些图片显示我在说什么.
初始阶段:此处,"完成"按钮被禁用,因为文本字段中没有字母

键入字母时,启用"完成"按钮

现在,如果我点击清除按钮,仍然会启用"完成"按钮.这是错的.

询问代表是否应删除文本字段的当前内容.
Run Code Online (Sandbox Code Playgroud)- (BOOL)textFieldShouldClear:(UITextField *)textField参数
Run Code Online (Sandbox Code Playgroud)textField包含文本的文本字段.
回报价值
YES如果文本字段的内容应该被清除; 否则,NO.讨论
文本字段调用此方法以响应用户按下内置清除按钮.(默认情况下不显示此按钮,但可以通过更改
clearButtonMode文本字段属性中的值来启用此按钮.)此方法也在编辑开始时调用,并且clearsOnBeginEditing文本字段的 属性设置为YES.委托实现此方法是可选的.如果它不存在,则清除文本,就好像此方法已返回一样
YES.可用性Run Code Online (Sandbox Code Playgroud)* Available in iOS 2.0 and later.
在UITextField.h中声明
| 归档时间: |
|
| 查看次数: |
3508 次 |
| 最近记录: |