码迷,mamicode.com
首页 > 移动开发 > 详细

【iOS开发每日小笔记(十三)】使用UIDocumentInteractionController 打开ibooks文档的注意点

时间:2014-10-09 01:55:27      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   使用   strong   文件   sp   

这篇文章是我的【iOS开发每日小笔记】系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧。它们可能会给用户体验、代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下。90%的作用是帮助自己回顾、记忆、复习。

 

大约两年多前,我曾尝试自己写一个程序,用来解析Word文档。当时满腔热血,认为只要是把xml各种标签一一对应解析就好了(当时还不知道有CoreText这档子东西)。后来发现自己实力不够,在解析了图片、文字、段落、音频、视频后,留了个烂尾项目。

任何事物都是需要坚持才能做好的,也许我当年一直理想地坚持做解析,现在说不定已经可以发布自己的"WPS"了。好了,还是不YY,开始记录今天的笔记。

今天遇到一个奇葩的问题,首先说明一下,我们现在打开各种格式的文档,都是使用UIDocumentInteractionController。采用“预览”的方式,比如html、txt、word、excel等。这些都是可以完美打开的。但是今天我却发现,UIDocumentInteractionController在某种情况下无法打开本地ibooks文档!

来看一下我的问题代码:

1         UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:fileUrl];
2         controller.delegate = self;
3         [controller presentPreviewAnimated:YES];

用以上代码,可以直接present一个“预览”(preview)界面,对html、txt、word、excel都是良好支持的,但是ibooks却不支持!

如果想打开ibooks,只能通过以下方法:

1         UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:fileUrl];
2         controller.delegate = self;
3         [controller presentOptionsMenuFromRect:rect inView:self.view animated:YES];

这样,首先弹出pop,这个pop里面会列出可能支持的第三方应用,其中包含了设备里安装的ibook app。点击它,才会跳转到ibook app中,自动加载本地fileUrl地址的ibooks文件。

 

导致这样效果的原因,我觉得是因为iOS中UIDocumentInteractionController的“预览”功能,不支持ibooks。而UIDocumentInteractionController只支持使用第三方app(也就是iOS自己的ibook app)来打开ibooks文档,因此只能使用“先pop,再选择打开”的方式来查看ibooks文档。这样做的劣势,就是必须离开自己的应用,跳转到ibooks中。

【iOS开发每日小笔记(十三)】使用UIDocumentInteractionController 打开ibooks文档的注意点

标签:style   blog   color   io   os   使用   strong   文件   sp   

原文地址:http://www.cnblogs.com/pigpigDD/p/4012222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!