Обратные вызовы Когда прокручивается NSScrollView?
Я создаю приложение Mac, которое должно знать, когда пользователь прокручивает NSScrollView
, однако я не могу найти какие-либо методы типа UIScrollView
, который имеет следующие методы делегата:
– scrollViewDidScroll:
– scrollViewWillBeginDragging:
– scrollViewDidEndDragging:willDecelerate:
– scrollViewShouldScrollToTop:
– scrollViewDidScrollToTop:
– scrollViewWillBeginDecelerating:
– scrollViewDidEndDecelerating:
Могу ли я использовать аналогичные методы делегирования для App Kit? Спасибо заранее.
Kai.
Ответы
Ответ 1
Вы можете отслеживать изменения вида прокрутки, контролируя границы его содержимого. Сначала установите представление содержимого, чтобы опубликовать его изменения с помощью
[contentView setPostsBoundsChangedNotifications:YES];
Затем зарегистрируйтесь как наблюдатель этих уведомлений с помощью
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(boundsDidChange:) name:NSViewBoundsDidChangeNotification object:contentView];
Ответ 2
В последнее время возникла та же проблема... Чтобы несколько эмулировать обратные вызовы торможения, можно переопределить
-(void) scrollWheel:(NSEvent *)theEvent
класса NSScrollView, но затем проверьте theEvent.momentumPhase вместо фазы Event.phase для фаз событий.