WKWebView problème mouseDown
devulder
Membre
bonjour,
petit souci avec ce code:
@interface mybrowser : WKWebView
{
}
@end
@implementation mybrowser
- (NSView *)hitTest:(NSPoint)aPoint
{
NSLog(@hitTest: %@ %@", NSStringFromPoint(aPoint),[NSApp currentEvent]);
return [super hitTest:aPoint];
}
- (void)mouseDown:(NSEvent *)theEvent {
NSLog(@entered mouseDown);
return [super mouseDown:theEvent];
}
-(void)rightMouseDown:(NSEvent *)theEvent {
NSLog(@entered rightMouseDown);
return [super rightMouseDown:theEvent];
}
- (NSMenu *)menuForEvent:(NSEvent *)theEvent {
NSLog(@entered menuForEvent);
return [super menuForEvent:theEvent];
}
je dérive la classe (WKWebView, elle dépend de NSView,NSResponder donc mouseDown est présent)
je lance le prog, met une url dans la wkwebview
la page s'affiche normalement, par contre quand je clique dessus avec les boutons de la souris
je ne récupéres pas les évenement mouseDown,rightMouseDown !
heureusement hitTest marche, je peux avec NSApp currentEvent récupérer l'état des boutons
mais bon je comprend pas pourquoi mouseDown n'est pas récu ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je serai toi je regarderai ce que retourne acceptsFirstMouse.
Il se peut que la gestion des events soit différente des autres views.
WKWebView doit surement être composé de sous-vue (on peut le voir avec Xcode) qui gère ce type d'évènement.
J'ai fait quelques tests et Lexxis a raison. Une WKWebView a plusieurs subViews qui s'occupent deÌjà du mouseDown et qui ne le laisse pas passer. Tu vas devoir trouver une autre solution...
ok, merci a vous deux pour les tests
je vais me contenter de hitTest.