可以加載的方式比較多,暫時先總結兩種:
本地先導入一份pdf文件
type 1: 利用UIWebView加載
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; [self.view addSubview:webView]; NSString *path = [[NSBundle mainBundle] pathForResource:@"基於Apache+JMeter" ofType:@"pdf"]; NSURL *url = [NSURL fileURLWithPath:path]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request];
type 2:利用系統的預覽文件的框架QuickLook
首先導入框架QuickLook.framework
引入頭文件#import <QuickLook/QuickLook.h>
實例化對象
QLPreviewController *myQlPreViewController = [[QLPreviewController alloc]init]; myQlPreViewController.delegate =self; myQlPreViewController.dataSource =self; [myQlPreViewController setCurrentPreviewItemIndex:0]; //此處可以帶導航欄跳轉、也可以不帶導航欄跳轉、也可以拿到View進行Add [self presentViewController:myQlPreViewController animated:YES completion:^{ NSLog(@"跳轉完成"); }];
聲明代理
<QLPreviewControllerDelegate,QLPreviewControllerDataSource>
實現協議
#pragma mark - QLPreviewController代理 - (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller { return 1; } - (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index { NSString *path = [[NSBundle mainBundle] pathForResource:@"基於Apache+JMeter" ofType:@"pdf"]; return [NSURL fileURLWithPath:path]; } - (void)previewControllerDidDismiss:(QLPreviewController *)controller { NSLog(@"預覽界面已經消失"); } //文件內部鏈接點擊不進行外部跳轉 - (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item { return NO; }
至此結束,加載過程可能比較緩慢,畢竟需要加載本地pdf文件;
兩種方式比較可以看出,第一種加載比較方便,但是內存消耗的比較多,第二種內存消耗的比較少,我實際測的是差20MB(用的模擬器)。
mark ---------