2014-12-13 6 views
0
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 

    // initialize cell 

    if let pickerCell = cell as? SettingsPickerCell { 
     collectionView.panGestureRecognizer.requireGestureRecognizerToFail(pickerCell.picker.collectionViewController.collectionView!.panGestureRecognizer) 
    } 

    return cell 
} 

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

Я пробовал использовать свойство exclusiveTouch, не помогло. Есть ли лучший способ, чем это?

+0

Это связано с [этим ответом] (http://stackoverflow.com/a/26512396/758831)? – wmorrison365

+0

@ wmorrison365 Я так не думаю, так как мой вопрос - ответ на этот OP. Кроме того, решение в поиске может быть лучшим шаблоном проектирования с использованием той же идеи, которую я опубликовал. – Mazyod

ответ

1

Я думаю, что лучший способ подклассов своего вида сбора и переопределить

func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) 

и другие связанные с ними методы. Там вы можете контролировать поток прикосновений и решать свою проблему.

Смежные вопросы