iOS 让其他 UIGestureGestureRecognizer 的 UIGestureGestureRecognizer 失败?

iOS Let UIGestureGestureRecognizer failed for other UIGestureGestureRecognizer?

我通过扩展一个名为 myView2 的退出视图来编写 UIView class 称为 myView1。 在myView2注册了一个UITapGestureRecognizer(叫tap2),我也想在myView1注册一个UITapGestureRecognizer(叫tap1)。 我想系统调用 tap1 first,然后在 tap1 失败时调用 tap2。所以我调用下面的方法。

[tap2 requireGestureRecognizerToFail:tap1];

-(void)handleTap1:(UITapGestureRecognizer *) sender{
    if () {
        // let tap1 failed, then call tap2.
    }
}

The question is that : how to let tap1 failed, then call tap2. tap2 is the UITapGestureRecognizer of super class myView2.

点击手势可以同时被一个视图识别,参考iOS事件响应链。对于同类型的手势识别器,据我所知,requireGestureRecognizerToFail对你帮助不大。

如果tap1 failed条件依赖于你的私有逻辑,你应该自己手动实现事件转发。如果它们之间确实存在触摸手势冲突,则实现UITapGestureRecognizer/UIGestureRecognizer的委托来识别它们的状态,包括begin/move/end点。