我有一个UIAlertView,它包含一个UITextField:
UITextField *textField = [alertView textFieldAtIndex:0];
现在,我想为这个inputDelegate设置textField属性:
[textField setInputDelegate:self];
我的视图控制器(self)符合UITextInputDelegate,它有以下方法
- (void)textDidChange:(id<UITextInput>)textInput;
但由于某种原因,当我更改textField中的文本时,从未调用此方法。因此,我假设我的视图控制器没有设置为textField的inputDelegate。
这些文件指出:
文本输入系统在运行时自动向此属性分配委托。采用UITextInput协议的视图有责任在适当的节点通知输入委托。
这是否意味着我不能更改文本字段的inputDelegate?
当视图控制器中的内容发生变化时,textField如何真正调用委托方法textDidChange:
?
发布于 2013-07-19 14:00:56
我有同样的经验,输入代表永远不会起作用。
我为你找到了这一页,
然而,为了解决您的问题,我建议您使用委托!
UITextField *textField = [alertView textFieldAtIndex:0];
textField.delegate = self;
发布于 2017-08-13 13:45:51
我不知道如何将inputDelegate设置为UITextField
,但是您可以观察您的UITextField
的UITextFieldTextDidChange通知,以便在它的文本被更改后得到通知。
https://stackoverflow.com/questions/17745534
复制相似问题