【发布时间】:2011-06-11 23:35:27
【问题描述】:
我正在开发一个需要显示运行时间码时钟的 iPhone/iPad 应用程序。我已经让它显示正确的小时、分钟和秒,使用此代码没有问题:
- (void) viewDidLoad {
// Start the Timer method for here to start it when the view loads.
runTimer = [NSTimer scheduledTimerWithTimeInterval: .01 target: self selector: @selector(updateDisplay) userInfo: nil repeats: YES];
}
- (void)updateDisplay {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSDate *date = [NSDate date];
// Display each hour, minute, second and frame.
[formatter setDateFormat:@"hh"];
[timecodeHourLabel setText:[formatter stringFromDate:date]];
[formatter setDateFormat:@"mm"];
[timecodeMinuteLabel setText:[formatter stringFromDate:date]];
[formatter setDateFormat:@"ss"];
[timecodeSecondLabel setText:[formatter stringFromDate:date]];
}
问题是当我需要每秒显示帧数时。我知道计算1/24 * 1000 会给我一帧中有多少毫秒。我只是不知道如何使NSDate 和NSTimer 函数与此代码一起工作,并允许它根据运行时间码的需要尽快更新UILabel。
有什么建议吗?
【问题讨论】:
标签: objective-c ios cocoa-touch uilabel nstimer