iOS 文件预览 UIDocumentInteractionController
admin
2023-02-09 10:00:13
0

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

@interface ViewController () 
 
@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 就能回到主界面。

iOS 文件预览 UIDocumentInteractionController


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

相关内容

热门资讯

今日重磅消息“金满地.可以开挂... 网上科普关于“金满地有没有挂”话题很是火热,小编也是针对金满地作*弊开挂的方法以及开挂对应的知识点,...
今日重大消息“微乐陕西三代一.... 有 亲,根据资深记者爆料微乐陕西三代一是可以开挂的,确实有挂(咨询软件无...
今日重大消息“麦穗二八杠.开挂... 网上科普关于“麦穗二八杠有没有挂”话题很是火热,小编也是针对麦穗二八杠作*弊开挂的方法以及开挂对应的...
终于懂了“喜扣打筒子.有没有挂... 您好:喜扣打筒子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
【第一资讯】“微乐卡五星.开挂... 您好:微乐卡五星这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游...
终于懂了“十三十三水经典比鸡.... 您好:十三十三水经典比鸡这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家...
最新引进“琼戏互娱.究竟有挂吗... 最新引进“琼戏互娱.究竟有挂吗?”必胜开挂神器您好,琼戏互娱这个游戏其实有挂的,确实是有挂的,需要了...
最新引进“春天扑克.到底有挂吗... 有 亲,根据资深记者爆料春天扑克是可以开挂的,确实有挂(咨询软件无需打开...
终于了解“聚友互娱.到底是不是... 家人们!今天小编来为大家解答聚友互娱透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
今日重大通报“想游中心五.开挂... 今日重大通报“想游中心五.开挂神器?”太坑了原来有挂您好,想游中心五这个游戏其实有挂的,确实是有挂的...