UITextField
shouldChangeCharactersInRange
delegate
方法。当我键入'ni hao'时,会为每个字符调用此delegate
方法,但是当我从自动更正建议栏中选择一个单词时,不会调用此委托方法。这只发生在iOS 7
简体中文,它与日语键盘配合得很好。我想在选择单词时执行我的应用程序特定操作。任何帮助深表感谢。
答案 0 :(得分:2)
我今天遇到同样的问题。我把它固定如下:
不要使用委托,只需使用通知:
[[NSNotificationCenter defaultCenter] addObserver:self 选择:@选择(框TextChanged :) 名称:UITextFieldTextDidChangeNotification 对象:无];
答案 1 :(得分:0)
我也遇到过这个问题。感谢@AnkyHe的解决方案。这是我的实施。
在包含UITextField的ViewController中:
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(textChanged:)
name:UITextFieldTextDidChangeNotification
object:nil];
}
- (void)textChanged:(NSNotification *)notif
{
UITextField *editingTextField = (UITextField *)notif.object;
NsLog(@"changed textL %@", editingTextField.text);
}