首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >touchesBegan: UITableView内幕

touchesBegan: UITableView内幕
EN

Stack Overflow用户
提问于 2015-02-22 22:44:46
回答 1查看 106关注 0票数 0

我需要为作为UITableViewCell的子视图添加的UIView实现拖放功能。根据苹果的MoveMe示例,我使用touchesBegan: touchesMoved: events捕捉到了拖拽。

这是在单元格中添加的视图:

gradientview是单元格的子视图。我只需要移动白色矩形(白色框是橙色-蓝色渐变视图的子视图)。我的问题是,在向上或向下拖动几个像素之后,表格视图开始滚动。从水平上讲,这是可以的。似乎tableView在经过一定量的拖拽后抓住了拖拽。我需要阻止垂直滚动,直到拖动正在进行。

有什么解决方案可以防止这种情况发生吗?

EN

回答 1

Stack Overflow用户

发布于 2015-02-22 23:15:23

好的。我最终使用了UIPanGestureRecognizer。这似乎阻挡了下面的表格视图。

代码语言:javascript
复制
- (void)move:(UIPanGestureRecognizer*) recognizer {
CGPoint translation = [recognizer translationInView:self];
[recognizer setTranslation:CGPointMake(0, 0) inView:self];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x,
                                     recognizer.view.center.y + translation.y);

}

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

https://stackoverflow.com/questions/28659119

复制
相关文章

相似问题

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