我有一个包含UITextField的UIAlertView:

UITextField *textField = [alertView textFieldAtIndex:0];

现在,我想为textField设置inputDelegate属性:
[textField setInputDelegate:self];

我的视图控制器(自身)符合UITextInputDelegate并具有以下方法
- (void)textDidChange:(id<UITextInput>)textInput;

但是由于某种原因,当我更改textField中的文本时,永远不会调用此方法。因此,我假定我的视图控制器未设置为textField的inputDelegate。

该文档指出:

文本输入系统会在运行时自动将委托分配给该属性。视图的责任是采用UITextInput协议在适当的时候通知输入委托。

这是否意味着我无法更改文本字段的inputDelegate?

每当内容更改时,如何实现textField真正在视图控制器中调用委托方法textDidChange:

最佳答案

我有同样的经验,inputdelegate将永远无法工作。

我已经为您找到了此页面,

input delegate

但是,要解决您的问题,我建议您改用委托!

UITextField *textField = [alertView textFieldAtIndex:0];

textField.delegate = self;

关于ios - 如何设置UITextField的inputDelegate?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17745534/

10-08 20:50