首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITableViewCell上的UIPanGestureRecognizer覆盖了UITableView的滚动视图手势识别器

UITableViewCell上的UIPanGestureRecognizer覆盖了UITableView的滚动视图手势识别器
EN

Stack Overflow用户
提问于 2012-04-17 08:38:35
回答 4查看 11K关注 0票数 20

我对UITableViewCell进行了子类化,并在该类中应用了平移手势识别器:

代码语言:javascript
复制
UIPanGestureRecognizer *panning = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePanning:)];
panning.minimumNumberOfTouches = 1;
panning.maximumNumberOfTouches = 1;
[self.contentView addGestureRecognizer:panning];
[panning release];

然后我实现了委托协议,该协议应该允许在表视图中同时进行手势:

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

然后,我在handlePanning方法中放置了一个日志,以查看何时检测到它:

代码语言:javascript
复制
- (void)handlePanning:(UIPanGestureRecognizer *)sender {
    NSLog(@"PAN");
}

我的问题是,我不能垂直滚动表格视图中的单元格列表,而且无论我平移哪个方向,都会调用handlePanning

我想要的是只在只有水平平移而不是垂直平移的情况下才调用handlePanning。希望能得到一些指导。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-17 08:45:06

您是否尝试过设置pannings委托属性?

代码语言:javascript
复制
panning.delegate = /* class name with the delegate method in it */;

您还需要使该类符合UIGestureRecognizerDelegate。

票数 17
EN

Stack Overflow用户

发布于 2012-04-17 08:46:21

平移手势识别器的子类,并使其仅识别水平平移。关于自定义手势识别器的问题,有一个很棒的WWDC 2010视频。实际上,关于这个主题有两个,请在https://developer.apple.com/videos/archive/上查看它们

  • 使用手势识别

简化触摸事件处理

票数 3
EN

Stack Overflow用户

发布于 2013-03-20 15:45:03

在tableview上添加手势识别器。在此基础上,您可以获得cell对象。从那里你可以处理单元格的功能。对于每个手势,都会有一个开始、更改和结束状态。所以,存储开始位置。

代码语言:javascript
复制
    CGPoint beginLocation = [gesture locationInView:tblView]; // touch begin state.

    CGPoint endLocation = [gesture locationInView:tblView]; // touch end state.

使用这一点,您可以获得IndexPath

代码语言:javascript
复制
    NSIndexPath *indexPath = [tblView indexPathForRowAtPoint:beginPoint];

通过此索引路径,您可以访问单元格。

代码语言:javascript
复制
            UITableViewCell *cell = [tableview cellForRowAtIndexPath : indexPath];

使用此Cell对象,您可以处理它。

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

https://stackoverflow.com/questions/10183584

复制
相关文章

相似问题

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