(我目前的目标是 iOS 2.0。)
我有一个子类 UITextField 并实现 UITextFieldDelegate 协议。
一开始我没有设置类为自己的委托,当我在字段中点击时,键盘自动弹出。到目前为止,一切都很好。
我使用 UIReturnKeyDone 发送 setReturnKeyType: 消息,因此它会将右下角的按钮更改为“完成”。
问题是,当我点击完成或按下 [Return] 时,什么都没有发生 - 键盘不会消失。
我尝试将 self 添加为结束编辑通知的观察者,但单击完成时它从未被调用;从谷歌搜索来看,似乎只有当该字段辞去第一响应者时才会被解雇——这是我无法做到的。
然后我在这里找到了建议添加 self 作为委托并处理 textFieldShouldReturn: 的答案。问题是,一旦我将 self 添加为委托,当您单击该字段时键盘不再弹出(并且它没有获得焦点) - 它似乎没有成为第一响应者。
我尝试处理 textFieldShouldBeginEditing: 并返回 YES (文档说如果没有被覆盖应该是默认值),这被调用了,但没有任何区别。在我的无知中,我尝试了 [textField becomeFirstResponder] 并获得了堆栈溢出的奖励(现在我知道这是为了响应试图成为第一响应者而调用的)。
我现在彻底卡住了!
任何人都可以帮忙吗?我只希望当用户单击完成或按 [Return] 时键盘消失。