处理 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 或每个单元格上实现处理程序?的主要内容,如果未能解决你的问题,请参考以下文章