首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIGestureRecognizer阻塞表视图滚动

UIGestureRecognizer阻塞表视图滚动
EN

Stack Overflow用户
提问于 2012-10-10 19:27:05
回答 1查看 3K关注 0票数 4

我有一个包含静态单元格的表格。其中一个单元格上有一个带有平移手势识别器的视图。

当我向下滚动我的表格视图时,当我到达带有平移手势识别器的视图的单元格时,滚动似乎不起作用。如果我在视图之外触摸(到侧面、顶部或底部),它就会起作用,我可以滚动。我在我的手势识别器中有一个if语句,它测试某个区域是否被触摸,如果是,则执行一个操作。

我已经研究过这个问题(http://stackoverflow.com/questions/3295239/uigesturerecognizer-blocking-table-view-scrolling),但是将cancelsTouchesInView设置为NO不起作用,我无法在任何地方设置状态属性并使用- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer方法,我不知道从哪里获取'otherGestureRecognizer‘,也不知道在哪个对象上调用该方法。

我假设我不会将我的手势识别器作为第一个参数,并将tableview的滚动手势识别器作为otherGestureRecogniser,对吗?如果是这样的话,我该怎么做呢?

代码语言:javascript
复制
UIPanGestureRecognizer *windPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveWindHandle:)];

[self.windRangeView addGestureRecognizer:windPanGesture];

然后在我的moveWindHandle中:

代码语言:javascript
复制
 -(void)moveWindHandle:(UIPanGestureRecognizer *)gesture
{
    gesture.cancelsTouchesInView = NO;
    isMovingHandle = [self isPoint:startedTouchAt insideHandle:_toHandleWindImageView];
    if(isMovingHandle) {

        if(gesture.state == UIGestureRecognizerStateBegan) {
            //do stuff
        }
    } 
    else
    {
        //i want it to ignore this gesture and just scroll like normal if that is what hte user did
    }
}

我已经将tableviewcontroller设置为UIGestureRecognizerDelegate,但我不知道如何处理它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-10 20:01:33

你不会是那个打电话给-gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:的人。该方法由系统调用。您需要将表视图控制器设置为窗口平移手势的代理。

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

此时,当您执行pan时,系统将调用委托方法-gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:,并将您的手势识别器作为一个参数,滚动视图的手势识别器作为另一个参数。

更新

您可能还希望实现-gestureRecognizerShouldBegin:方法,如果您不在某个特定区域中,则返回NO。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12818215

复制
相关文章

相似问题

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