直接调用 UIResponder.resignFirstResponder 可以吗?
Posted
技术标签:
【中文标题】直接调用 UIResponder.resignFirstResponder 可以吗?【英文标题】:Is it okay to call UIResponder.resignFirstResponder directly? 【发布时间】:2018-12-04 03:10:28 【问题描述】:我刚开始怀疑实际上不允许直接调用resignFirstResponder
。不像NSResponder
,它允许在UIKit中直接调用becomeFirstResponder
。到目前为止,我假设调用resignFirstResponder
也可以。但实际上,手册上说resignFirstResponder
方法是为了得到通知,并没有提到直接调用。
通知该对象它已被要求放弃其状态 作为其窗口中的第一响应者。
如果它的设计方式与NSResponder
的工作方式相同,则不允许直接调用resignFirstResponder
,尽管手册中没有明确的方法来确定调用的有效性...
如果它被设计为不直接调用,直接调用该方法将是有害的或使代码更难维护。
直接调用UIResponder.resignFirstResponder
方法可以吗?
【问题讨论】:
【参考方案1】:似乎没问题,因为on another part of the manual,上面写着
... 要关闭键盘,请调用
resignFirstResponder
方法 当前是第一响应者的基于文本的视图。当一个文本 视图放弃了它的第一响应者状态,它结束了当前的编辑 会议,通知其代表这一事实,并驳回 键盘。换句话说,如果你有一个名为myTextField
的变量 指向当前是第一个的UITextField
对象 响应者,关闭键盘就像做 以下:[myTextField resignFirstResponder];
从那时起,文本对象会自动为您处理所有内容。
【讨论】:
以上是关于直接调用 UIResponder.resignFirstResponder 可以吗?的主要内容,如果未能解决你的问题,请参考以下文章