Cocoa touch uitextfield委托必须是文件';谁的主人?

Cocoa touch uitextfield委托必须是文件';谁的主人?,cocoa-touch,Cocoa Touch,我已经看到一些参考资料(例如)回应了iPhone中有人在键盘关闭时遇到问题,他们说“仔细检查代理是否与文件所有者关联” 这一定是真的吗?或者仅仅是标准的做法?我的nib中不能有其他对象,比如UIViewController的子类,并根据我的喜好与这些对象建立连接吗?我讨厌将所有内容路由到碰巧是文件所有者的对象中 也就是说,我很难让键盘消失。我知道它连接到代理,因为我可以设置断点并单步执行代码。我可以看到[theTextField resignFirstResponder]被调用(并返回true)

我已经看到一些参考资料(例如)回应了iPhone中有人在键盘关闭时遇到问题,他们说“仔细检查代理是否与文件所有者关联”

这一定是真的吗?或者仅仅是标准的做法?我的nib中不能有其他对象,比如UIViewController的子类,并根据我的喜好与这些对象建立连接吗?我讨厌将所有内容路由到碰巧是文件所有者的对象中

也就是说,我很难让键盘消失。我知道它连接到代理,因为我可以设置断点并单步执行代码。我可以看到[theTextField resignFirstResponder]被调用(并返回true),但键盘仍然不会消失


任何其他建议?

特定视图中的所有控件都旨在与拥有nib文件的视图控制器进行对话。即使您有(比如)更改UITextField值的UISlider,这也将由UIViewController子类中的一个方法处理,该方法在滑块值更改并更新t时触发文本字段中的ext。因此,UIViewController 10次中有9次是nib文件的所有者

通常,您要定义的文本字段委托方法是
textfieldshouldturn
,在文本字段上调用
resignFirstResponder
,这听起来像您已经完成了

确保
文本字段的出口也已连接。它可以是
nil
,运行时将
[nil resignFirstResponder]
视为noop,而不是错误