对[self presentViewController]实例调用UIAlertController将立即加载警报。有什么办法推迟它的介绍吗?
[self presentViewController:alert animated:YES completion:nil];发布于 2015-10-20 21:16:57
您可以使用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。取决于您的用例,这三种情况中的一种应该可以帮助您在适当的时候延迟和显示警报控制器。
编辑:这是这个答案的Swift版本:
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.present(alert, animated: true)
}您也可以检查this answer
发布于 2015-10-20 21:21:27
如果您正在等待下载或其他东西,您也可以考虑在任务完成后使用一个称为(并呈现视图控制器)的块。如果您这样做,您还应该使用某种类型的加载动画。
https://stackoverflow.com/questions/33246873
复制相似问题