UITextFieldDelegate "shouldChangeTextInRange" 没有被调用

BHu*_*lse 2 objective-c ios

我有一个UITextField,我想为它使用正则表达式。我想使用

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

方法从UITextFieldDelegate

在我的 XIB 文件中,委托设置为文件所有者。在 .h 文件中设置了协议 UIViewController<UITextFieldDelegate>

textFieldDidEndEditing并且textFieldDidBeginEditing工作正常。

shouldChangeTextInRange 没有被调用,但为什么呢?

此致

Abh*_*nav 6

那是因为您正在实现委托UITextView而不是UITextField。你应该实施:

- (BOOL)textField:(UITextField *)iTextField shouldChangeCharactersInRange:(NSRange)iRange replacementString:(NSString *)iString
Run Code Online (Sandbox Code Playgroud)