我刚刚开始怀疑实际上不允许直接调用resignFirstResponder
。与NSResponder
不同的是,允许直接在UIKit中调用becomeFirstResponder
。到目前为止,我一直假设调用resignFirstResponder
也是可以的。但实际上,该手册说resignFirstResponder
方法可以得到通知,而没有提及直接调用。
通知此对象已被要求放弃其状态 作为其窗口中的第一响应者。
如果以NSResponder
的工作方式进行设计,则不允许直接调用resignFirstResponder
,尽管在手册中没有明显的方法可以确定呼叫的有效性... < / p>
如果设计为不直接调用它,则直接调用该方法将有害或使代码难以维护。
可以直接调用UIResponder.resignFirstResponder
方法吗?
答案 0 :(得分:0)
它似乎还可以,因为它说on another part of the manual
... 要关闭键盘,请调用
resignFirstResponder
方法 当前是第一响应者的基于文本的视图。当文字 视图退出其第一响应者状态,并结束其当前编辑 会议,将该事实通知其代表,并驳回 键盘。换句话说,如果您有一个名为myTextField
的变量 指向UITextField
对象,该对象当前是第一个 响应者,解除键盘就像 以下:[myTextField resignFirstResponder];
此后,文本对象将自动为您处理所有事情。