Удалить жест для определенной ячейки таблицы - PullRequest
0 голосов
/ 20 мая 2019

ответ на тот же вопрос, но все рекомендуемые методы не работают для меня: Как удалить длинный жест в определенной ячейке UIcollectionViewCell в ячейке выделения?

У меня есть табличное представление, в которое добавляется два жеста для всего табличного представления, UIPanGestureRecognizer и `UITapGestureRecognizer. Из-за этого некоторые ячейки перестали реагировать так, как я ожидал, поэтому я хочу удалить их из одной ячейки, возможно ли это? если да, то как?

Большое спасибо за вашу помощь заранее

1 Ответ

0 голосов
/ 20 мая 2019

Хорошо, есть только один способ сделать это:

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
    }
}

Если вы отправите свой код, я могу помочь вам лучше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...