我在UICollectionView中嵌入了一个UITableView,集合视图水平滚动,所以如果我尝试轻扫以删除'在集合视图单元格内部的一个表视图行中,它显然只是滚动集合视图。想知道是否有一个解决方案,以便它可以检测集合视图单元格的uitableview部分上的滑动而不是滑动uicollection视图本身? UITableView仅占用集合视图单元的四分之一。我正在使用UIViewController。我也在我的集合视图中启用了分页。
答案 0 :(得分:1)
你可以使用像here这样的命中测试来解决UICollectionView在单元格框架内滚动时没有获取手势事件
但恕我直言,你不应该试图打破默认行为,应该看看改变你的用户界面......
答案 1 :(得分:1)
尝试以下两个选项之一:
require(toFail otherGestureRecognizer: UIGestureRecognizer)
。在创建(或填充)单元格时,使用此方法将滑动手势添加到集合视图平移手势。shouldRequireFailure(of: otherGestureRecognizer)
。子类UICollectionView
并覆盖此方法,以便在otherGestureRecognizer
实际上是滑动以删除行手势时返回true。您只需要弄清楚如何识别/检索两个手势识别器(提示:浏览gestureRecognizers
属性以找到一些PanGestureRecognizers
)
你应该完善那个笨重的设计。
答案 2 :(得分:-1)
您可以尝试向每个收集单元格添加UISwipeGestureRecognizer
,然后在其中执行目标操作检查(gestureRecognizer.state == UIGestureRecognizerStateEnded)
并添加您的代码。