這個我們學習iOS的QuickLook框架實現很簡單,如下:
ViewController.h
#import#import @interface ViewController : UIViewController @property (strong , nonatomic) QLPreviewController *previewController; @end
// // ViewController.m // QuickLook例子 // // Created by 杜甲 on 14-3-18. // Copyright (c) 2014年 杜甲. All rights reserved. // #import ViewController.h @interface ViewController () @property (strong , nonatomic) NSArray* m_dirArray; @property (strong , nonatomic) UIDocumentInteractionController* m_docInteractionController; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory NSString* pathppt = [[NSBundle mainBundle] pathForResource:@C ofType:@pdf]; NSData* pptData = [NSData dataWithContentsOfFile:pathppt]; NSString* filePath = [documentsPath stringByAppendingPathComponent:@C1.pdf]; [pptData writeToFile:filePath atomically:YES]; NSFileManager* fileManager = [NSFileManager defaultManager]; self.m_dirArray = [NSArray array]; self.m_dirArray = [fileManager contentsOfDirectoryAtPath:documentsPath error:Nil]; NSLog(@%@,self.m_dirArray); self.view.backgroundColor = [UIColor redColor]; self.previewController = [[QLPreviewController alloc] init]; //self.previewController.view.frame = CGRectMake(0, 0, 320, 568); self.previewController.view.backgroundColor = [UIColor grayColor]; self.previewController.dataSource = self; self.previewController.delegate = self; // start previewing the document at the current section index self.previewController.currentPreviewItemIndex = 0;//indexPath.row; [self presentViewController:self.previewController animated:YES completion:^{ [self.view addSubview:self.previewController.view]; }]; [self.view addSubview:self.previewController.view]; } #pragma mark - QLPreviewControllerDataSource // Returns the number of items that the preview controller should preview - (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)previewController { return [self.m_dirArray count];//[self.dirArray count]; } - (void)previewControllerDidDismiss:(QLPreviewController *)controller { // if the preview dismissed (done button touched), use this method to post-process previews } // returns the item that the preview controller should preview - (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx {NSURL* fileURL = nil; NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentDir = [documentPaths objectAtIndex:0]; NSString* path1 = [self.m_dirArray objectAtIndex:idx]; NSString* path = [documentDir stringByAppendingPathComponent:path1]; fileURL = [NSURL fileURLWithPath:path]; return fileURL; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end