Ios UITextFieldDelegate“;“是否应更改文本范围”;不打电话

Ios UITextFieldDelegate“;“是否应更改文本范围”;不打电话,ios,objective-c,Ios,Objective C,我有一个UITextField,我想用一个正则表达式。我想使用 -(BOOL)文本视图:(UITextView*)文本视图应更改文本范围:(NSRange)范围替换文本:(NSString*)文本 来自UITextFieldDelegate的方法 在我的XIB文件中,委托被设置为文件的所有者。在.h文件中设置protocoll UIViewController textfielddidediting和textfielddidebeginediting工作正常 不调用shouldChangeTex

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

-(BOOL)文本视图:(UITextView*)文本视图应更改文本范围:(NSRange)范围替换文本:(NSString*)文本

来自
UITextFieldDelegate
的方法

在我的XIB文件中,委托被设置为文件的所有者。在.h文件中设置protocoll
UIViewController

textfielddidediting
textfielddidebeginediting
工作正常

不调用shouldChangeTextInRange
,但为什么


致以最良好的祝愿,这是因为您正在
UITextView
上实现委托,而不是
UITextField
。你应该实施:

- (BOOL)textField:(UITextField *)iTextField shouldChangeCharactersInRange:(NSRange)iRange replacementString:(NSString *)iString

实现
UITextViewDelegate
方法并尝试将其委托给
UITextField
。试试看

Obj-C

- (BOOL)textField:(UITextField *)iTextField shouldChangeCharactersInRange:(NSRange)iRange replacementString:(NSString *)iString
迅捷

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool

为了他人的利益,你能接受这个答案吗。