Как отменить жесты collectionView, касаясь ползунка внутри ячейки? - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть собственный слайдер внутри представления коллекции.Я изменяю значение слайдера с помощью touchesMoved.ползунок прекрасно работает, когда он не находится в виде коллекции, мне нужно только начать скользить внутри его вида, а затем я могу продолжить скольжение, перемещая палец вниз или вверх вне его обзора, и он все еще работает, но когда он находится вcollectionView, как только мой палец выходит из вида ползунков, останавливается и активируется прокрутка представления коллекции.Как остановить жесты вида прокрутки и продолжить работу с ползунком?

1 Ответ

0 голосов
/ 08 октября 2018

хорошо, я нашел ответ сам.вот оно: я добавил эту функцию в свой класс ячеек

func getParentCollection() -> UICollectionView?
{
    let collection = self.superview as? UICollectionView
    return collection
}

, и у моего ползунка были завершения, и я делаю это:

self.secondaryVolumeSlider.didBeginTouch = {
        self.getParentCollection()?.gestureRecognizers?.forEach({ (gesture) in
            gesture.isEnabled = false
        })
    }
    self.secondaryVolumeSlider.didEndTouching = {
        self.getParentCollection()?.gestureRecognizers?.forEach({ (gesture) in
            gesture.isEnabled = true
        })
    }

Поэтому, когда я начинаю касаться ползунка, я выключаювсе жесты суперпредставления ячеек, то есть представления коллекции, и когда я заканчиваю скольжение, я снова включаю их.

...