Запускаем колесо прокрутки… Реализация предыдущих и прямых жестов в WebView

#macos #cocoa #xcode4 #xcode4.2

#macos #cocoa #xcode4 #xcode4.2

Вопрос:

Как я могу реализовать жесты «предыдущий» и «вперед» в webview… Я прочитал руководство по обработке событий на трекпаде, но я все еще не могу понять это правильно…

Я пробовал создавать подклассы WebView, NSView, NSWindow, но ни один из них не работает… Я даже не могу заставить его вызвать событие scrollWheel… Что я здесь делаю не так? Спасибо

 -- webView.h --


#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>

@interface swipeView : WebView
@end



-- webView.m --

- (void) awakeFromNib{
    [self setAcceptsTouchEvents:YES];
    [self acceptsFirstResponder];
}


- (void) scrollWheel:(NSEvent *)theEvent{
    NSLog(@"scroll");
}
  

Ответ №1:

Я думаю, у вас уже есть свой ответ, но вот что было бы моим:

Вместо вызова метода

 [self acceptsFirstResponder]
  

вы должны реализовать это и вернуть YES в своем классе.

 - (BOOL) acceptsFirstResponder
{
    return YES;
}
  

Удачного кодирования!