UIScrollView を使用せずに QuickLook フレームワーク経由で PDF を開こうとしています...
私は何かが欠けていると信じています...
私が間違っていると思うところは、QLPreviewController を使用する必要があり、QLPreviewController には QLPreviewItem に準拠する必要がある dataSource があるということです。ドキュメントには、NSURL が QLPriewItem に準拠していると記載されているため、エラーをスローしている NSURL に preview.dataSource を設定しています。
[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];
}