首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将inputDelegate设置为UITextField?

如何将inputDelegate设置为UITextField?
EN

Stack Overflow用户
提问于 2013-07-19 11:57:11
回答 2查看 2K关注 0票数 3

我有一个UIAlertView,它包含一个UITextField:

代码语言:javascript
运行
复制
UITextField *textField = [alertView textFieldAtIndex:0];

现在,我想为这个inputDelegate设置textField属性:

代码语言:javascript
运行
复制
[textField setInputDelegate:self];

我的视图控制器(self)符合UITextInputDelegate,它有以下方法

代码语言:javascript
运行
复制
- (void)textDidChange:(id<UITextInput>)textInput;

但由于某种原因,当我更改textField中的文本时,从未调用此方法。因此,我假设我的视图控制器没有设置为textField的inputDelegate。

这些文件指出:

文本输入系统在运行时自动向此属性分配委托。采用UITextInput协议的视图有责任在适当的节点通知输入委托。

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

当视图控制器中的内容发生变化时,textField如何真正调用委托方法textDidChange:

EN

回答 2

Stack Overflow用户

发布于 2013-07-19 14:00:56

我有同样的经验,输入代表永远不会起作用。

我为你找到了这一页,

输入委托

然而,为了解决您的问题,我建议您使用委托!

代码语言:javascript
运行
复制
UITextField *textField = [alertView textFieldAtIndex:0];

textField.delegate = self;
票数 1
EN

Stack Overflow用户

发布于 2017-08-13 13:45:51

我不知道如何将inputDelegate设置为UITextField,但是您可以观察您的UITextFieldUITextFieldTextDidChange通知,以便在它的文本被更改后得到通知。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17745534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档