自定义uiview从First Responder辞职

时间:2010-12-24 06:11:05

标签: iphone ios4 first-responder

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

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

采取另一种观点我希望得到与文本字段键盘类似的行为,当其他视图成为第一响应者时,该行为被驳回。

我希望我的问题背景清晰。

2 个答案:

答案 0 :(得分:1)

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

- (BOOL)resignFirstResponder {
    if (![super resignFirstResponder])
        return NO;

    // dismiss self here
    return YES;
}

答案 1 :(得分:0)

我假设你在触摸时已经实现了所有其他视图的IBAction方法。那么为什么不在这些方法中让这个自定义视图辞职第一响应者,或者如果你发现这个自定义视图不是零而又不再需要它会被释放?