未显示QLPreviewController的活动指示器

时间:2013-02-12 10:02:08

标签: ios ios5

我正在使用QLPreviewController来快速查看PDF文件和图像。在控制器上传内容之前,会显示一个空白屏幕。我尝试添加活动指标。它开始动画但不显示。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,所以我想我会分享一个可能的解决方案。

您的主线程可能被阻止,阻止加载QLPreviewController。你可以考虑在另一个线程中加载你的数据:

dispatch_queue_t getData = dispatch_queue_create("com.myDomain.appName", NULL);

dispatch_async(getData, ^{
    //get some data

});

你的主线程现在应该立即推送QLPreviewController,当它重试在_previewItemUrl上获取数据时,它将显示自己的Activity Indicator。 对于长时间运行的任务,此操作可能会超时:

  

等待来自com.apple.quicklook.quicklookd

的围栏障碍

在这种情况下,使用performSelectorInBackground:withObject:,并在方法结束时发布通知。注册您的课程以接收通知,并通过@selector推送previewController。