2013-03-25 2 views
-1

Как я могу запустить оповещение в приложении Mac OS X, которое происходит, когда происходит салфетка или щепотка. В уведомлении указывается направление удара, и если у него есть щепотка, если он является щепоткой или щепоткойКак запустить оповещение/всплывающее окно в Mac OS X app

ответ

2

Документация от Apple на handling trackpad events довольно информативна. Вам нужно посмотреть на метод swipeWithEvent:(NSEvent *)event и метод magnifyWithEvent:(NSEvent *)event. Они дают ясные примеры того, что вы можете сделать с этими методами и как реализовать их . Я сделал это очень быстро, поэтому этот код не был протестирован. Но вам нужно будет сделать что-то подобное. Я бы предложил вам прочитать всю статью, а затем создать свой собственный код.

- (void)swipeWithEvent:(NSEvent *)event { 
    CGFloat x = [event deltaX]; 
    CGFloat y = [event deltaY]; 

    NSString *msg = @""; 

    if (x != 0) { 
     msg = (x > 0) ? @"Left Swipe" : @"Right Swipe"; 
    } 
    if (y != 0) { 
     msg = (y > 0) ? @"Up Swipe" : @"Down Swipe"; 
    } 

    [self displayWithMessage:msg]; 
} 

- (void)magnifyWithEvent:(NSEvent *)event { 
    NSString *msg = @""; 
    if([event magnification] > 0) { 
     msg = @"Pinch In"; 
    } 
    else if ([event magnification] < 0) { 
     msg = @"Pinch Out"; 
    } 

    [self displayWithMessage:msg]; 

} 
-(void) displayWithMessage:(NSString *)message { 
    NSAlert *alert = [[NSAlert alloc] init]; 
    [alert setAlertStyle:NSInformationalAlertStyle]; 
    [alert setMessageText:@"Gesture Notification"]; 
    [alert setInformativeText:message]; 
    [alert runModal]; 
} 
Смежные вопросы