可以直接调用UIResponder.resignFirstResponder吗?

时间:2018-12-04 03:10:29

标签: uikit first-responder resignfirstresponder

我刚刚开始怀疑实际上不允许直接调用resignFirstResponder。与NSResponder不同的是,允许直接在UIKit中调用becomeFirstResponder。到目前为止,我一直假设调用resignFirstResponder也是可以的。但实际上,该手册说resignFirstResponder方法可以得到通知,而没有提及直接调用。

  

通知此对象已被要求放弃其状态   作为其窗口中的第一响应者。

如果以NSResponder的工作方式进行设计,则不允许直接调用resignFirstResponder,尽管在手册中没有明显的方法可以确定呼叫的有效性... < / p>

如果设计为不直接调用它,则直接调用该方法将有害或使代码难以维护。

可以直接调用UIResponder.resignFirstResponder方法吗?

1 个答案:

答案 0 :(得分:0)

它似乎还可以,因为它说on another part of the manual

  

...   要关闭键盘,请调用resignFirstResponder方法   当前是第一响应者的基于文本的视图。当文字   视图退出其第一响应者状态,并结束其当前编辑   会议,将该事实通知其代表,并驳回   键盘。换句话说,如果您有一个名为myTextField的变量   指向UITextField对象,该对象当前是第一个   响应者,解除键盘就像   以下:

[myTextField resignFirstResponder];
     

此后,文本对象将自动为您处理所有事情。