在应用开发中,有时候需要预览文档和视频,使用 UIDocumentInteractionController 来预览文件非常方便,支持的格式比较多,比如 docx、xlsx、pdf、mov、mp4、jpg、png 等等都可以。具体代码如下:

@interface ViewController () <UIDocumentInteractionControllerDelegate>@property(nonatomic,strong) UIDocumentInteractionController * documentVC;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.NSString *path = [[NSBundle mainBundle] pathForResource:@"第 7 章 Mach-O 文件格式解析" ofType:@"docx"];NSURL *url = [NSURL fileURLWithPath:path];self.documentVC = [UIDocumentInteractionController interactionControllerWithURL:url];self.documentVC.delegate = self;dispatch_async(dispatch_get_main_queue(), ^{BOOL b = [self.documentVC presentPreviewAnimated:YES];});
}#pragma mark 代理方法
//为快速预览指定控制器
- (UIViewController*)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController*)controller
{NSLog(@"%@",NSStringFromSelector(_cmd));return self;
}//为快速预览指定View
- (UIView*)documentInteractionControllerViewForPreview:(UIDocumentInteractionController*)controller
{NSLog(@"%@",NSStringFromSelector(_cmd));return self.view;
}//为快速预览指定显示范围
- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController*)controller
{NSLog(@"%@",NSStringFromSelector(_cmd));//    return self.view.frame;return CGRectMake(0, 0, self.view.frame.size.width, 300);
}@end

效果如下图,点击 Done 就能回到主界面。

原文地址:https://www.exchen.net/ios-%E6%96%87%E4%BB%B6%E9%A2%84%E8%A7%88-uidocumentinteractioncontroller.html

iOS 文件预览 UIDocumentInteractionController相关推荐

  1. iOS 文件预览(PDF、Excel、World等)之QuickLook框架

    iOS 文件预览 QuickLook之工程文件预览 QuickLook之网络URL预览 QuickLook之工程文件预览 一.简介 QuickLook库可以让我们的App在iPhone/iPad中直接 ...

  2. 关于文件预览的功能实现

    iOS文件预览篇 文件预览是每个带有文档下载功能的app所必须的,所以学会文档预览是必须的.但是给你一个demo可能你会少走很多弯路,在也不会因为网上那些复制粘贴而且不能用的东西强了. 文档预览是苹果 ...

  3. (0095)iOS开发之本地文件预览的三种方法(3)

    (0090)iOS开发之本地文件预览的三种方法(1) (0094)iOS开发之本地文件预览的三种方法(2) 用功能强大的Webview来实现文件预览功能 我导入的 ios.pdf 前两种可以打开,但是 ...

  4. (0094)iOS开发之本地文件预览的三种方法(2)

    (0090)iOS开发之本地文件预览的三种方法(1) (0095)iOS开发之本地文件预览的三种方法(3) QuickLook预览文件 quickLook预览文件也是系统提供的预览方法,具体使用如下 ...

  5. iOS系统预览文件但不分享的实用技巧 (iOS10, QLPreviewController)

    苹果系统的文件预览能力对于很多app来说是必要的,但其提供的UI相关api并不是可以定制的,比如需要定制toolbar, navigationbar的情况,直接使用QLPreviewControlle ...

  6. 微信公众号,点击按钮打开pdf文件流,安卓跳转到浏览器里下载,ios可预览但默认不能下载

    微信公众号,点击按钮打开pdf文件流,安卓跳转到浏览器里下载,ios可预览但默认不能下载 注:在pc上开始时采用这两种方式是没有效果的,或者打开的是空页面,但上线到公众号是没有问题的!!!!!!!!! ...

  7. 苹果:付费才能用 iOS 开发者预览版,网友吐槽:找 Bug,还得先交 99 美元?

    整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 以后要尝鲜 iOS 开发者预览版,要先付费,才能测试? 苹果的更新说明 近日,苹果最新公布的一项政策引发了不少开发者的争议,其表示,从 i ...

  8. mpvue PDF文件预览

    小程序中PDF文件预览问题 在小程序中可以ios端可以使用  <web-view :src="url"></web-view> 但是在Android端pdf ...

  9. Qt SD卡 文件系统挂载、文件预览

    /*********************************************************************************** Qt SD卡 文件系统挂载.文 ...

最新文章

  1. 通过setTimeout处理click,dblclick,mousedown等事件的冲突
  2. visual studio intergration
  3. 11行Python代码,发现了室友U盘的惊天秘密。
  4. 四十二、Scrapy爬取csdn的博客标题和网址
  5. render在python中的含义_python-/ render()上的Django TypeError获得了意外的...
  6. 40 | 案例篇:网络请求延迟变大了,我该怎么办?
  7. mac adb 找不到设备_win/Mac办公软件下载找不到资源?试试这三个强大的神器
  8. 小程序 | 打开CMS时出现了404报错?
  9. 述职答辩提问环节一般可以问些什么_陕西省高级职称评审,90%的人都“死”在答辩上?...
  10. 使用 bibexcel 把.out 文件转换成 .net 文件
  11. 虚无缥缈的代码到底是如何控制硬件工作的?
  12. 立此存照:杨振宁 VS 邓稼先 (转贴)
  13. 大雁牌计算机在线使用,用大雁牌计算器解决有关计算问题.doc
  14. Windows 10无法打开设置
  15. JDK1.8源码分析:可重入锁ReentrantLock和Condition的实现原理
  16. Vue element-ui之神坑
  17. 机器之心最干的文章:机器学习中的矩阵、向量求导
  18. 2020 Ohayoo游戏开发者沙龙成都站将于10月22日正式启动
  19. 西游记笔记与想法(4)
  20. Python提取Word中的所有图片

热门文章

  1. 网络安全等保定级_差异:关键信息基础设施与网络安全等级保护2.0
  2. 数据结构课程设计---最长公共子串
  3. 非苹果PC安装MacOS
  4. 【LeetCode】105#从前序与中序遍历序列构造二叉树
  5. 不变(Invariant), 协变(Covarinat), 逆变(Contravariant) : 一个程序猿进化的故事
  6. Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
  7. 【会议记录】第二次例会(10.06)记录
  8. ABAP:向自建表写入数据时,需要注意的问题
  9. 关于引进制转换(凌乱)
  10. 练习5 键盘输入一个年份 判断年份 是否为闰年