处理 UICollectionView 单元格上的滑动:在 UICollectionView 或每个单元格上实现处理程序?
Posted
技术标签:
【中文标题】处理 UICollectionView 单元格上的滑动:在 UICollectionView 或每个单元格上实现处理程序?【英文标题】:Handle swipes on UICollectionView cells: implement handler on UICollectionView or on each cell? 【发布时间】:2016-09-02 10:48:42 【问题描述】:目标是处理 UICollectionView 单元格上的滑动。每次向左滑动都应该为发生滑动的单元格显示一个删除选项。
当前实现将滑动手势识别器附加到 UICollectionView 然后检查单元格,如下所示:
let swipeGesture = UISwipeGestureRecognizer(target: self, action: #selector(cellSwiped))
swipeGesture.direction = .Left
collectionView.addGestureRecognizer(swipeGesture)
func cellSwiped(gestureRecognizer : UISwipeGestureRecognizer)
let point = gestureRecognizer.locationInView(collectionView)
if let indexPath = collectionView.indexPathForItemAtPoint(point)
// Do stuff
另一种方法是自定义 UICollectionViewCell 以处理滑动。
各自的优缺点是什么?两者都一样好吗?
【问题讨论】:
【参考方案1】:你应该在每个单元格中添加手势,它会让你可以轻松控制,它会让你的代码干净
【讨论】:
以上是关于处理 UICollectionView 单元格上的滑动:在 UICollectionView 或每个单元格上实现处理程序?的主要内容,如果未能解决你的问题,请参考以下文章
在滚动期间点击时,UICollectionView 不再识别单元格上的点击?
UICollectionView 在单元格上拖动手指以选择它们
UICollectionView 标头仅在第一个单元格上调用一次
在单元格上设置角半径会破坏 UICollectionView 的性能