1. 程式人生 > >iOS 檔案預覽 UIDocumentInteractionController

iOS 檔案預覽 UIDocumentInteractionController

在應用開發中,有時候需要預覽文件和視訊,使用 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