2010-04-01 68 views
0

我已经看到了一些引用(例如here)响应遇到麻烦键盘在iPhone解雇那个说:“仔细检查该委托被附加到文件的所有者乡亲。uitextfield委托必须是文件的所有者?

这一定是真的吗?还是只是标准的练习吗?我的笔尖中没有其他对象,例如UIViewController的子类,并且按照我喜欢的方式与这些对象建立连接?我不想将所有东西都路由到碰巧是文件所有者的对象中。

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

其他建议?

回答

0

特定视图中的所有控件都旨在与拥有该nib文件的View Controller进行通信。即使你有一个改变UITextField值的UISlider,它也会被你的UIViewController子类中的一个方法处理,当滑块的值发生变化时它会被触发,并更新文本字段中的文本。所以10次你的UIViewController将是nib文件的所有者。

通常,您要定义的文本字段委托方法是textFieldShouldReturn,在文本字段上调用resignFirstResponder,这听起来像您所做的一样。

确保您的theTextField插座也已连接。它可以是nil,运行时将把[nil resignFirstResponder]视为noop,而不是错误。

相关问题