Đây là giải pháp đơn giản cho vấn đề của bạn.
khai báo
@interface ViewController : UIViewController
{
IBOutlet UILabel * result;
NSTimer * timer;
int currentTime;
}
- (void)populateLabelwithTime:(int)milliseconds;
-(IBAction)start;
-(IBAction)pause;
@end
Definition
- (void)viewDidLoad
{
[super viewDidLoad];
currentTime = 270000000; // Since 75 hours = 270000000 milli seconds
}
-(IBAction)start{
timer = [NSTimer scheduledTimerWithTimeInterval:.01 target:self selector:@selector(updateTimer:) userInfo:nil repeats:YES];
}
-(IBAction)pause{
[timer invalidate];
}
- (void)updateTimer:(NSTimer *)timer {
currentTime -= 10 ;
[self populateLabelwithTime:currentTime];
}
- (void)populateLabelwithTime:(int)milliseconds {
int seconds = milliseconds/1000;
int minutes = seconds/60;
int hours = minutes/60;
seconds -= minutes * 60;
minutes -= hours * 60;
NSString * result1 = [NSString stringWithFormat:@"%@%02dh:%02dm:%02ds:%02dms", (milliseconds<[email protected]"-":@""), hours, minutes, seconds,milliseconds%1000];
result.text = result1;
}
Nguồn
2012-04-21 09:04:51
+1 cho lời giải thích chi tiết. Giữ nó lên. –
Hai nó hoạt động tốt với một số thay đổi ... tôi có xem cuộn, trong đó tôi đang hiển thị thời gian .. Nếu tôi Kéo xem cuộn thời gian không được tính toán (trong nền cũng) ... những gì tôi phải làm. ..? – SriKanth
Thêm mã này để bật hẹn giờ trong khi cuộn ........................................ .......................................... - (IBAction) bắt đầu { timer = [NSTimer scheduleTimerWithTimeInterval: .01 target: self selector: @selector (updateTimer :) userInfo: nil lặp lại: YES]; [[NSRunLoop currentRunLoop] addTimer: timer forMode: NSRunLoopCommonModes]; } –