【问题标题】:Is it okay to call UIResponder.resignFirstResponder directly?直接调用 UIResponder.resignFirstResponder 可以吗?
【发布时间】:2018-12-04 03:10:28
【问题描述】:

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

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

如果它的设计方式与NSResponder 的工作方式相同,则不允许直接调用resignFirstResponder,尽管手册中没有明确的方法来确定调用的有效性...

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

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

【问题讨论】:

    标签: uikit first-responder resignfirstresponder


    【解决方案1】:

    似乎没问题,因为on another part of the manual,上面写着

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

    [myTextField resignFirstResponder];
    

    从那时起,文本对象会自动为您处理所有内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 1970-01-01
      • 1970-01-01
      • 2020-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多