我正在尝试在按下空格键时将时间记录在HH:MM:SS中。我在研究中发现,可可粉比粉底液更易于使用,因为可可粉具有可以感知按键的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" );
    }
}

最佳答案

可以这样完成:

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

    if ([theEvent keyCode] == 49) { //Spacebar keyCode is 49
        NSLog(@"Time is: %@", [NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterNoStyle timeStyle:NSDateFormatterMediumStyle]);
    }
}

关于objective-c - 按下空格键时记录时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12646112/

10-09 16:28