-1

スワイプまたはピンチが発生したときに発生する Mac OS X アプリでアラートを発生させるにはどうすればよいですか。アラートはスワイプの方向を示し、ピンチの場合はピンチインかピンチアウトかを示します

4

1 に答える 1

2

トラックパッド イベントの処理に関する Apple のドキュメントは非常に有益です。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];
}
于 2013-03-25T01:01:36.360 に答える