【问题标题】:custom uiview resigned from First Responder自定义 uiview 从 First Responder 辞职
【发布时间】:2010-12-24 06:11:04
【问题描述】:

我检查了与 First Responder 相关的文档,但找不到当某些 UIView 不再是第一响应者时收到的某种回调。让我解释一下我的情况。

所以,我有一个自定义 UIView(以编程方式创建),它在调用时成为第一响应者。现在,当用户单击超级视图或其他视图时,我想关闭/删除此视图。我已经在超级视图中编写了逻辑,使其在接收到触摸事件时成为第一响应者,但找不到该自定义视图的任何回调以在发生这种情况时将其关闭。

从另一个角度来看,我希望获得与文本字段键盘类似的行为,当其他视图成为第一响应者时,它会被关闭。

我希望我的问题上下文很清楚。

【问题讨论】:

    标签: iphone ios4 first-responder


    【解决方案1】:

    由于UIView 继承自UIResponder,您只需覆盖resignFirstResponder 方法即可根据需要更新您的外观:

    - (BOOL)resignFirstResponder {
        if (![super resignFirstResponder])
            return NO;
    
        // dismiss self here
        return YES;
    }
    

    【讨论】:

    • 完美!!像魅力一样工作。我怎么没想到。谢谢你:)
    【解决方案2】:

    我假设您在被触摸时已经实现了所有其他视图的 IBAction 方法。那么,如果您发现此自定义视图不是 nil 并且不再需要,为什么不在这些方法中让此自定义视图退出第一响应者甚至被释放?

    【讨论】:

      猜你喜欢
      • 2015-01-05
      • 1970-01-01
      • 2017-03-27
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 2012-02-10
      相关资源
      最近更新 更多