首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用手势识别器时,表视图不滚动

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

Stack Overflow用户
提问于 2013-07-12 20:10:19
回答 5查看 13.3K关注 0票数 22

我的应用程序有一个表格视图(当然有一个滚动视图),这个视图通过一个手势识别器来滑动(就像Facebook的应用程序一样)。

如果我使用按钮将表格视图滑动到屏幕上,它工作得很好,但当我使用手势识别器时,表格视图不能再滚动。

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

代码语言:javascript
复制
[self.view addGestureRecognizer:self.slidingViewController.panGesture];

有人有主意吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-07-12 20:40:48

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

代码语言:javascript
复制
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

代码语言:javascript
复制
self.slidingViewController.panGesture.delegate = self;

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

票数 46
EN

Stack Overflow用户

发布于 2017-07-28 21:55:54

我在我的UItableview中使用了UIPangesture,为了避免这种手势,我在下面的委托中使用了,

代码语言:javascript
复制
//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
}
票数 14
EN

Stack Overflow用户

发布于 2015-08-12 17:06:32

以下是快速版本:

代码语言:javascript
复制
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17614609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档