- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
iOSSDK预览和打开文档
iOS中的沙盒可以让平台更加的安全,这也是沙盒给用户带来的最主要好处。不过由于沙盒的严格限制,导致程序之间共享数据比较麻烦。一般在程序间共享文档可以通过UIDocumentInteractionController(该类经常被开发者忽略)。本文中,我将介绍如何使用这个类在其它程序(已经安装在设备中的程序)中预览和打开文档。?UIDocumentInteractionController在iOS 3.2中就已经存在了,使用起来非常灵活,功能也比较强大。它除了支持同设备上app之间的文档分享外,还可以实现文档的预览、打印、发邮件以及复制。?UIDocumentInteractionController的使用非常简单。首先通过调用它唯一的类方法interactionControllerWithURL:,并传入一个URL(NSURL),来初始化一个实例对象。之后设置一下这个view controller的delegate属性,并实现一些恰当的delegate方法。?注意,UIDocumentInteractionController并不是UIViewController的子类,所以必须通知document interaction controller使用哪个view controller来预览文档。?Step 1: 设置项目在同设备app之间打开文档非常有用,一个常见的实例是在图片编辑器中打开图片,比如iPhoto。?在 Xcode中创建一个新项目,选择“Single View Application”模板(图1)。命名文档,键入公司标识符,Device选择iPhone,设备下边选择“Use Automatic Reference Counting”,其他两项不选(图2)。然后点击“Next”,保存项目,点击“Creat”按钮。图1图2?Step 2: 创建用户界面这个程序的用户界面包括两个按钮,一个是用于在其他app中预览PDF文档,另一个是用户在其他app中打开PDF文档。创建用户界面之前,在view controller执行文件中为每个按钮赋予一个动作,如下:1.- (IBAction)previewDocument:(id)sender {2.}?1.- (IBAction)openDocument:(id)sender {2.}?选择MTViewController.xib,我们需要从右边view controller视图中拖拽两个UIButton实例(图3)。选择左边的File’s Owner objectobject,打开Connections Inspector,把先前创建的动作和按钮连接起来(图4)。?图3图4Step 3:预览文档现在支持的是PDF文档,你可以使用任何PDF文档,但是在关于这个技巧的源文件中,我已经包含了一个PDF例子,就是苹果的iOS编程指南,也可以在线获得。把文档拖至你的项目中,选中“ Copy items into destination group’s folder (if needed)”这个复选框(图5),最后确保文件已经添加至下边的“Documents target”中。图5使用UIDocumentInteractionController类注意事项:1. 你需要保存着document interation controller的实例。2.需要实现UIDocumentInteractionControllerDelegate协议。?首先更新view controller的头文件(如下所示)来告诉compiler,MTViewController类遵照UIDocumentInteractionControllerDelegate协议。1.#import UIKit/UIKit.h2.@interface MTViewController : UIViewController UIDocumentInteractionControllerDelegate3.@end?在view controller的实现文件中,添加一个私有属性,类型为UIDocumentInteractionController,并将名称命名为documentInteractionController。这个属性存储着document interaction controller,之后会用着。?看看previewDocument:方法的实现,首先获得文档的URL (NSURL) ,由于文档是app的一部分,因此通过NSBundle类获得文档的(NSURL)非常容易,如下:?1.- (IBAction)previewDocument:(id)sender {2.??? NSURL *URL = [[NSBundle main
原创力文档


文档评论(0)