我有一个简单的计时器,在完成时会显示消息“Rest Time Complete”我希望该消息在屏幕上停留一秒钟,然后关闭视图。我已经尝试了一些我将在下面详述的内容,但我永远无法显示,暂停,然后关闭视图。计时器暂停计时器中的最后一个数字,然后在视图被解除时始终显示该消息。这是我的代码:
- (void)restTimerComplete
{
self.restTimeLabel.text = @"Rest Period Complete!";
[NSThread sleepForTimeInterval:1];
[self hideRestTimerAnimated:YES];
}
我也尝试使用简单的sleep(1)
,但结果相同。
答案 0 :(得分:1)
最简单的方法是使用dispatch_after
:
- (void)restTimerComplete {
self.restTimeLabel.text = @"Rest Period Complete!";
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self hideRestTimerAnimated:YES];
});
}