標籤:adr ati int AC highlight type 預覽 點擊 main
可以載入的方式比較多,暫時先總結兩種:
本地先匯入一份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 ---------
iOS 載入pdf格式的檔案