Ios 键盘建议未调用shouldChangeCharactersRange

Ios 键盘建议未调用shouldChangeCharactersRange,ios,objective-c,uitextfield,uikeyboard,Ios,Objective C,Uitextfield,Uikeyboard,我有一个键盘,我从中选择汉字的建议,但它不会在点击建议时调用shouldChangeCharactersRange方法。仅当用户在文本字段中键入时才调用它 我一直在寻找这个问题,似乎没有人给出任何正确的答案 我发现以下解决问题的方法 编辑: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChanged:)

我有一个键盘,我从中选择汉字的建议,但它不会在点击建议时调用shouldChangeCharactersRange方法。仅当用户在文本字段中键入时才调用它

我一直在寻找这个问题,似乎没有人给出任何正确的答案

我发现以下解决问题的方法

编辑:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(textChanged:)
                                             name:UITextFieldTextDidChangeNotification
                                           object:textField];


- (void)textChanged:(NSNotification*)notification
  {
     [self textField:textField shouldChangeCharactersInRange:NSMakeRange(0, self.stringXYZ.length) replacementString:self.stringXYZ.text];
  }

我也有这个问题,即使文本超出范围,我也可以输入。我猜这是ios的一个bug。如果要限制文本长度,我认为有一个变通方法,可以在
编辑更改的
操作中进行限制。@MudOnTire我有变通方法,效果很好。你可以检查我的编辑。