删除特定表格视图单元格的手势

Posted

技术标签:

【中文标题】删除特定表格视图单元格的手势【英文标题】:Remove gesture for a specific tableview cell 【发布时间】:2019-05-20 18:43:22 【问题描述】:

已回答了相同的问题,但所有推荐的方法都不适合我: How to remove long gesture in UIcollectionViewCell particular cell on selection cell?

我有一个表格视图,在整个表格视图上添加了两个手势,UIPanGestureRecognizer 和 `UITapGestureRecognizer。它使某些单元格没有像我预期的那样响应,所以我想从某个单元格中删除它们,这可能吗?如果是,怎么做?

非常感谢您提前提供的帮助

【问题讨论】:

您可以发布您的代码以便我更好地帮助您吗? 【参考方案1】:

好的,只有一种方法可以做到这一点:

class MyViewController: UIViewController 

    @IBOutlet private var collectionView: UICollectionView!

    private let panGesture = UIPanGestureRecognizer()
    private let tapGesture = UITapGestureRecognizer()

    override func viewDidLoad() 
        super.viewDidLoad()
        panGesture.delegate = self
        tapGesture.delegate = self

        // Code to assign Gesture Recognizer
    


// You should conform your controller to UIGestureRecognizerDelegate
extension MyViewController: UIGestureRecognizerDelegate 
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool 
        let touchLocation = touch.location(in: collectionView)
        guard let indexPath = collectionView.indexPathForItem(at: touchLocation) else 
            return true
        
        // let's assume that you want to disable second cell (indexPath.row starts from 0)
        let disabledRow = 1
        return indexPath.row != disabledRow
    

如果您发布代码,我可以为您提供更好的帮助

【讨论】:

以上是关于删除特定表格视图单元格的手势的主要内容,如果未能解决你的问题,请参考以下文章

表格视图延迟(即使在删除手势识别器后)

如何在swift 3中删除tableview中特定单元格的按钮

自定义表格视图单元格中特定元素的手势

表格视图单元格中 UIView 上的手势识别器

仅在表格视图的特定单元格上显示和隐藏视图

不要在特定位置使用长按手势移动表格视图单元格