Есть ли в Swift способ узнать, когда NSScrollView начал прокрутку.
Swift. Как узнать, когда NSScrollView начинает прокручиваться?
Ответы (1)
Вы можете использовать наблюдателя, который слушает NSScrollViewWillStartLiveScrollNotification
[1]
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(YourClass.YourFunctionName), name: NSScrollViewWillStartLiveScrollNotification, object: nil)
Просто поместите свою функцию в #Selector()
person
Emptyless
schedule
06.07.2016
Я получаю 2 ошибки: ожидаемое выражение в списке выражений и ожидаемый разделитель ','. Это мое заявление:
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector("resetScroller"), name: NSScrollViewWillStartLiveScrollNotification, object: nil)
. XCode хочет добавить запятую между "селектором:" и "#селектором()".
- person ikhaliq15; 06.07.2016
#selector — это селектор типа objc c. Если у вас есть функция doSomething() в классе ViewController, вы используете #selector(ViewController.doSomething(:))
- person Emptyless; 06.07.2016
Я обнаружил, что вместо #selector используйте Selector(functionName).
- person ikhaliq15; 08.07.2016
#selector является новым, начиная с версии swift 2.2, и обеспечивает защиту от опечаток, имена функций на основе строк станут устаревшими: swift.org/blog/swift-2-2-new-features
- person Emptyless; 08.07.2016
Это не работает, когда пользователь прокручивает колесико мыши.
- person Ely; 15.10.2020