如果您在单元格上开始手势,则无法滑动以切换UICollectionView页面

时间:2014-09-11 04:03:17

标签: ios uibutton uicollectionviewcell uicontrol

我有一个UICollectionView,每个单元格中包含一个UIButton。我发现在水平页面之间滑动非常困难,因为如果您触摸单元格以开始滑动,则会触发UIButton触摸事件,而不是允许滑动手势发生。我确实为集合视图启用了Delays Content Touches。我可以做些什么来解决这个问题,以便在您开始在单元格上滑动时识别页面平移滑动手势?也许在识别UIControl事件之前可以增加延迟量?

请注意,我确实需要保留按钮的触摸事件 - 我需要知道这些事件发生的时间:TouchDown,TouchDragEnter,TouchCancel,TouchDragExit和TouchUpInside。

3 个答案:

答案 0 :(得分:0)

如果不知道您是在故事板中还是通过代码添加手势识别器,我只能建议您可以尝试在单元格的手势识别器和其他手势识别器之间创建依赖关系。

- (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer

答案 1 :(得分:0)

您必须在delaysContentTouches上将YES设置为UICollectionView。这样,在单元格接收触摸之前会有一个小的延迟,并且内置的滑动识别器可以完成其工作。 您也可以通过在IB中勾选相应的复选标记,从笔尖/故事板中执行此操作:

delay content touches checkmark

答案 2 :(得分:0)

这似乎只是iOS 8.0中的一个问题(至少是模拟器),因为我不再在iOS 8.1中遇到它。