presentViewController有延迟

时间:2015-10-20 21:12:30

标签: ios objective-c uialertcontroller

[self presentViewController]的实例上调用UIAlertController会立即加载警报。有没有办法推迟其演示?

[self presentViewController:alert animated:YES completion:nil];

2 个答案:

答案 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)

如果您正在等待某些内容下载或其他内容,您可能还会考虑在任务完成后使用被调用的块(并显示视图控制器)。如果你这样做,你也应该使用某种加载动画。