我需要为作为UITableViewCell的子视图添加的UIView实现拖放功能。我通过使用touchesBegan:touchesMoved:事件根据Apple的MoveMe示例捕获了拖动。

这是添加到单元格内部的视图:



渐变视图是单元的子视图。我只需要移动白色矩形(白色框是橙蓝色渐变视图的子视图)。我的问题是向上或向下拖动几个像素后,表格视图开始滚动。 Horizo​​ntaly可以。似乎tableView在一定量的拖动后捕获了拖动。在拖动进行之前,我需要防止垂直滚动。

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

最佳答案

好。我最终使用了UIPanGestureRecognizer。那似乎阻止了下面的tableview。

- (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);


}

关于ios - touchesBegan:在UITableView内部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28659119/

10-11 14:55