iphone – 如何检查UIDocumentInteractionController由于iPad上缺少外部应用程序而无法打开文档?

iphone – 如何检查UIDocumentInteractionController由于iPad上缺少外部应用程序而无法打开文档?,第1张

概述我使用UIDocumentInteractionController显示d出菜单“打开…”,以便用户可以在其他应用程序中打开文档。 方法presentOpenInMenuFromBarButtonItem:动画:如果没有应用程序能够打开给定的文档(菜单不显示),则返回NO。但是我等到现在为止已经太晚了。如果不可能,而不是提高对用户的期望,我想禁用启动该开放的按钮,然后说“抱歉,不可能打开它”。 是 我使用UIdocumentInteractionController显示d出菜单“打开…”,以便用户可以在其他应用程序中打开文档。

方法presentopenInMenuFrombarbuttonItem:动画:如果没有应用程序能够打开给定的文档(菜单不显示),则返回NO。但是我等到现在为止已经太晚了。如果不可能,而不是提高对用户的期望,我想禁用启动该开放的按钮,然后说“抱歉,不可能打开它”。

是否可以查询系统以查看是否至少有一个注册了特定文档类型的应用程序?我在QLPrevIEwController中检查过canPrevIEwItem:但是它似乎不支持UIdocumentInteractionController可以处理的相同文档类型。

解决方法 [编辑]不适用于iOS 6.0(见评论)

看来,dismissMenuAnimated(根本没有动画)是关键:

-(BOol)canopendocumentWithURL:(NSURL*)url inVIEw:(UIVIEw*)vIEw {    BOol canopen = NO;    UIdocumentInteractionController* docController = [UIdocumentInteractionController                                                    interactionControllerWithURL:url];    if (docController)    {        docController.delegate = self;        canopen = [docController presentopenInMenuFromrect:CGRectZero                                   inVIEw:self.vIEw animated:NO];                           [docController dismissMenuAnimated:NO];    }    return canopen;}

如果至少有一个应用程序能够打开url指向的文件,它将返回YES。至少它在我的情况(KMZ文件),在/不用DropBox应用程序测试iPhone iOS 4.3。实际上,即使url没有指向实际的文件(即@“test.kmz”),它似乎也可以工作,但是我不会依赖于所有的文件类型。

总结

以上是内存溢出为你收集整理的iphone – 如何检查UIDocumentInteractionController由于iPad上缺少外部应用程序而无法打开文档?全部内容,希望文章能够帮你解决iphone – 如何检查UIDocumentInteractionController由于iPad上缺少外部应用程序而无法打开文档?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1086733.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存