长按结束后ios滑动,不抬起手指

时间:2016-03-12 13:42:47

标签: ios uinavigationcontroller uigesturerecognizer uiswipegesturerecognizer uilongpressgesturerecogni

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

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

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

编辑: - longpress手势触发方法,它改变当前UIViewController的背景颜色(制作它,只是为了看它,如果它触发)。 - 滑动手势触发方法,-popViewController:动画

1 个答案:

答案 0 :(得分:0)

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

在你的手势中,我有一个小型的状态机,所以你知道什么时候开始,当长按时间到时,如果它们实际上已经滑动了。从每个州开始,你只会寻找一件事,如果发生其他事情,那么你就知道它是失败的,手势可能会失败。