Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 可清除的UITextField清除文本没有';t触发器应更改字符范围_Ios_Objective C_Uitextfield - Fatal编程技术网

Ios 可清除的UITextField清除文本没有';t触发器应更改字符范围

Ios 可清除的UITextField清除文本没有';t触发器应更改字符范围,ios,objective-c,uitextfield,Ios,Objective C,Uitextfield,我的ViewController中有一个UITextField,并且ViewController符合UITextField委托。一切都很好 我通过以下方式设置UITextField可清除模式: [myTextField setClearButtonMode:UITextFieldViewModeWhileEditing]; 问题是,当我单击myTextField的清除按钮时,无法触发委托方法shouldChangeCharactersRange。否则,如果我输入字符或手动逐个删除字符,它将被触

我的
ViewController
中有一个UITextField,并且
ViewController
符合
UITextField
委托。一切都很好

我通过以下方式设置
UITextField
可清除模式:

[myTextField setClearButtonMode:UITextFieldViewModeWhileEditing];
问题是,当我单击
myTextField
的清除按钮时,无法触发委托方法
shouldChangeCharactersRange
。否则,如果我输入字符或手动逐个删除字符,它将被触发

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
}
根据我的理解,清除文本是一个文本更改事件,我希望以一种常见的方式处理此事件,即在
shouldChangeCharactersRange
中。但它就是不起作用。那么,有没有办法将明文事件连接到
delegate
方法?我们将非常感谢所有的讨论

- (BOOL)textFieldShouldClear:(UITextField *)textField
这是按下内置清除按钮时调用的方法

有关更多帮助,请参阅文档

:

:)