0

当空格键被按下时,我试图在 HH:MM:SS 中记录时间。我在研究中发现使用 cocoa 比使用基础更容易,因为 cocoa 有一个 NSEvent 类可以感知击键。有一个类似的问题询问如何感知双空格键被击中,但它不满足如何将其与我的程序相关联。

下面的代码:

NSDate *startTime = [NSDate date ];
NSTimeInterval elaspedTime = [startTime timeIntervalSinceNow];

-(void)sendEvent:(NSEvent *) theEvent{
    NSString* spaceBarPressed = [ theEvent characters ];
    if( [spaceBarPressed isEqualToString:@"" ] ){
        if(theEvent.type == NSKeyDown )
            NSLog(@"Space bar hit" );
    }
}
4

1 回答 1

7

可以这样做:

- (void)keyDown:(NSEvent *)theEvent { 

    if ([theEvent keyCode] == 49) { //Spacebar keyCode is 49
        NSLog(@"Time is: %@", [NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterNoStyle timeStyle:NSDateFormatterMediumStyle]);
    }
}
于 2012-09-28T19:48:55.457 回答