在[self presentViewController]
的实例上调用UIAlertController
会立即加载警报。有没有办法推迟其演示?
[self presentViewController:alert animated:YES completion:nil];
答案 0 :(得分:4)
您可以使用GCD或performSelector:withObject:afterDelay:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self presentViewController:alert animated:YES completion:nil];
});
您还可以创建一个局部变量,然后在您想要的正确时间调用present。取决于您的用例,这三个中的一个应该帮助您在适当的时候延迟和显示警报控制器。
您还可以查看this answer
答案 1 :(得分:1)
如果您正在等待某些内容下载或其他内容,您可能还会考虑在任务完成后使用被调用的块(并显示视图控制器)。如果你这样做,你也应该使用某种加载动画。