我試圖打開通過QuickLook的框架PDF不使用的UIScrollView ...iOS版 - 通過開一個的Quicklook PDF不使用的UIScrollView
我相信我失去了一些東西......
我在哪裏相信我會錯誤的是,我需要使用QLPreviewController,並且在QLPreviewController上是一個必須符合QLPreviewItem的數據源。該文件指出,NSURL不符合QLPriewItem所以我設置preview.dataSource到NSURL它拋出一個錯誤:
[NSURL numberOfPreviewItemsInPreviewController:]:無法識別的選擇發送到實例
終止應用程序由於未捕獲的異常'NSInvalidArgumentException',原因:' - [NSURL numberOfPreviewItemsInPreviewController:]:無法識別的選擇器發送到實例0x5b5f200'
這使我認爲NSURL不符合。
所有我認爲是必要的代碼...
- (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item {
return YES;
}
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller {
return [documents count];
}
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index {
return [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[documents objectAtIndex:index] ofType:nil]];
}
- (void)pushPDF {
QLPreviewController *preview = [[QLPreviewController alloc] init];
preview.dataSource = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"MCIT_Quiz" ofType:@"pdf"]];
//preview.currentPreviewItemIndex = 0;
[self presentModalViewController:preview animated:YES];
[preview release];
}
如果你真的只會有一個,那麼爲什麼不擺脫文件,只是返回1並將quiz.pdf放入previewItemAtIndex – mackworth 2011-04-29 00:15:20
這是否工作?該文檔指出它需要一個int而不是一個文件名。 – Mytheral 2011-04-29 11:49:59
啊,我明白你的意思了。 Quiz.pdf的意思是動態的,上面只是一個簡單的例子。 – Mytheral 2011-04-29 11:59:08