使用手势识别器时,表格视图不会滚动

use*_*304 21 uitableview uigesturerecognizer ios

我的应用程序有一个表格视图(当然还有滚动),这个视图使用手势识别器(就像在Facebook应用程序上一样)打开和关闭.

如果我使用按钮将[表格视图滑动到屏幕],它可以正常工作,但是当我使用手势识别器时,表格视图不能再滚动.

以下是具有问题的手势识别器代码:

[self.view addGestureRecognizer:self.slidingViewController.panGesture];
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?

Wai*_*ain 45

您的手势可能会阻止滚动视图手势的工作,因为默认情况下,一次只能识别1个手势.尝试添加自己作为手势的代表并实施:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}
Run Code Online (Sandbox Code Playgroud)
self.slidingViewController.panGesture.delegate = self;
Run Code Online (Sandbox Code Playgroud)

另外,添加<UIGestureRecognizerDelegate>到您实现的协议列表中


小智 12

我在UItableview中使用了UIPangesture,并且避免了我在代理下面使用的这个手势,

//This method helped me stopped up/down pangesture of UITableviewCell and allow only vertical scroll
override func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
    if let panGestureRecognizer = gestureRecognizer as? UIPanGestureRecognizer {
        let translation = panGestureRecognizer.translationInView(superview)
        if fabs(translation.x) > fabs(translation.y) {
            return true
        }
        return false
    }
    return false
}
Run Code Online (Sandbox Code Playgroud)


Swi*_*y89 10

这是快速版本:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}
Run Code Online (Sandbox Code Playgroud)