暂停应用以在解除视图之前显示消息一秒钟

时间:2015-10-07 23:03:02

标签: ios objective-c cocoa-touch

我有一个简单的计时器,在完成时会显示消息“Rest Time Complete”我希望该消息在屏幕上停留一秒钟,然后关闭视图。我已经尝试了一些我将在下面详述的内容,但我永远无法显示,暂停,然后关闭视图。计时器暂停计时器中的最后一个数字,然后在视图被解除时始终显示该消息。这是我的代码:

- (void)restTimerComplete
{
    self.restTimeLabel.text = @"Rest Period Complete!";
    [NSThread sleepForTimeInterval:1];
    [self hideRestTimerAnimated:YES];
}

我也尝试使用简单的sleep(1),但结果相同。

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];
    });

}