0

我想实现后退导航,使用长按并向左滑动,而不抬起手指,但如果我在长按后不抬起手指,则无法识别滑动手势。

我还实现了以下委托方法,但没有出现所需的结果。有什么想法吗?

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
if (gestureRecognizer == _longPress && otherGestureRecognizer == _swipe) {
    return YES;
}
if (gestureRecognizer == _swipe && otherGestureRecognizer == _longPress) {
    return YES;
}
return NO;

编辑: - 长按手势触发方法,该方法更改当前 UIViewController 的背景颜色(制作它,只是为了看看它是否触发)。-滑动手势触发方法,-popViewController:animated

4

1 回答 1

0

不要使用 2 个不同的手势识别器,因为这是 1 个手势。您应该创建一个自定义手势子类来对您的逻辑进行编码,以便您添加和用户执行它是一个单一的逻辑手势。

在你的手势里面我会有一个小型状态机,这样你就知道什么时候开始,什么时候长按时间到了,如果他们真的刷得足够多。从每个状态中,您只希望发生一件事,如果发生其他任何事情,那么您知道这是一个失败,并且手势可能会失败。

于 2016-03-12T14:19:38.817 回答