W mojej aplikacji chcę, aby przewijanie się wydarzyło, tylko z działaniem kółka przewijania z myszy, a nie z gestu dwóch palców na gładziku. Zasadniczo próbuję określić, czy scrollWheelEvent jest generowany z myszy lub gładzika, wewnątrz - (void) scrollWheel: (NSEvent *) theEvent metoda. Z tego, co wiem do tej pory, wydaje się, że nie ma prostego sposobu, aby to osiągnąć.Mac Cocoa: Jak rozróżnić, czy zdarzenie NSScrollWheel pochodzi od myszy czy gładzika?
Próbowałem obejść ustawienie zmiennej boolean na wartość true i false wewnątrz - (void) beginGestureWithEvent: (NSEvent *) zdarzenie; oraz - (void) endGestureWithEvent: (NSEvent *) zdarzenie; Ale to nie jest rozwiązanie, ponieważ metoda scrollWheel: jest wywoływana kilka razy, po wywołaniu metody endGestureWithEvent :.
Oto mój kod:
$BOOL fromTrackPad = NO;
-(void)beginGestureWithEvent:(NSEvent *)event;
{
fromTrackPad = YES;
}
-(void) endGestureWithEvent:(NSEvent *)event;
{
fromTrackPad = NO;
}
- (void)scrollWheel:(NSEvent *)theEvent
{
if(!fromTrackPad)
{
//then do scrolling
}
else
{
//then don't scroll
}
}
wiem, że to jest coś, co nie jest standardem, ale to jest mój warunek. Czy ktoś wie, jak to zrobić? Dzięki!
To brzmi jak coś na znacznie niższym poziomie. Co się stanie, jeśli użytkownik przewinie się jednocześnie za pomocą gładzika i myszy? – TheAmateurProgrammer
Witam TheAmateurProgrammer, jak już wspomniałem, pytanie, które napisałem, nie jest czymś, co jest standardowe. Szukam sposobu na wdrożenie tej funkcji i każdy pomysł jest doceniany !. – AProgrammer