В OS X вы можете обнаружить его, подписавшись на NSScrollViewWillStartLiveScrollNotification
:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mySelector:)
name:NSScrollViewWillStartLiveScrollNotification object:nil];
Я передаю nil
в качестве параметра объекта, потому что, когда я его получаю, он, кажется, не приходитот enclosingScrollView
на WebView
.И нет свойства просмотра прокрутки на WKWebView в Йосемити .Так что при обработке вы должны проверить, отправляет ли это ваше веб-представление (будучи параноиком по поводу безопасности типов):
-(void)handleScroll:(id)sender
{
if ([sender isKindOfClass:[NSNotification class]])
{
NSNotification *notif = (NSNotification *)sender;
if ([notif.object isKindOfClass:[NSView class]])
{
NSView *view = (NSView *)notif.object;
if ([view isDescendantOf:self.webView])
{
//Handle scroll here
}
}
}
}
Я пробовал эту вещь для проверки потомков только с WebView
, так что если вывы используете WKWebView
, YMMV.
В документации NSScrollView .
перечислены другие уведомления о прокрутке.