Как отключить прокрутку в nscollectionview, используя swift при некоторых определенных условиях - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть NSCollectionView, и я должен отключить его свойство прокрутки scrollview, чтобы оно не перезагружалось при определенных условиях, и показывать пользователю предупреждение при попытке прокрутки.

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

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Подкласс NSCollectionView и переопределение scrollWheel

import Cocoa

class YourCollectionView: NSCollectionView {
    var disableScroll = true

    override func scrollWheel(with event: NSEvent) {
        if disableScroll {
            return
        } else {
            super.scrollWheel(with: event)
        }
    }
}

0 голосов
/ 21 сентября 2018

Вы можете сделать это с помощью scrollViewDidScroll метода ScrollViewDelegate. Вы можете использовать этот метод, потому что collectionview является подклассом scrollview.

Например:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
        print("collectionView Content : \(collectionView.contentOffset.y)")

            if collectionView.contentOffset.y >= 100
            {
                collectionView.isScrollEnabled = false
            }
            else
            {
                collectionView.isScrollEnabled = true
            }

    }

Я надеюсь, что егоработа для вас.

...