在应用开发中,有时候需要预览文档和视频,使用 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