可清除的UITextField清除文本未触发shouldChangeCharactersInRange

时间:2015-11-26 04:41:58

标签: ios objective-c uitextfield

我的ViewController中有一个UITextField,而ViewController符合UITextField delegate。一切都很好。

我将UITextField可清除模式设置为:

[myTextField setClearButtonMode:UITextFieldViewModeWhileEditing];

问题是,当我点击myTextField的清除按钮时,无法触发委托方法shouldChangeCharactersInRange。否则,如果我输入字符或逐个手动删除字符,它将被触发。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
}

根据我的理解,清除文本是一个文本更改事件,我想以一种常见的方式处理此事件,即在shouldChangeCharactersInRange中。但它不起作用。那么,有没有办法连接到delegate方法的明文事件?所有讨论都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

- (BOOL)textFieldShouldClear:(UITextField *)textField

这是按下内置清除按钮时调用的方法。

请参阅文档以获取更多帮助。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextFieldDelegate_Protocol/#//apple_ref/occ/intfm/UITextFieldDelegate/textFieldShouldClear

:)