iOS4.0 から使える Quick Look フレームワークを試してみました。
画像、PDF、HTML、iWorks、MSOffice などのファイルのプレビューをしたり、印刷やファイル形式によって対応している他のアプリで開いたりすることができます。

UITableViewController などと同じようにデータソースを指定して、プレビューさせるファイルがいくつあるか、indexPath で指定されたファイルのファイルパスを返すなどを実装すれば簡単にプレビュー画面を作成できます。

#import 

QLPreviewController* previewController = [[QLPreviewController alloc] init];
previewController.dataSource = self;
previewController.delegate = self;
previewController.currentPreviewItemIndex = indexPath.section;
[self presentModalViewController:previewController animated:YES];
[previewController release];
-(NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController*)previewController
{
  // プレビューするファイル数
  return 10;
}

-(id)previewController:(QLPreviewController*)previewController previewItemAtIndex:(NSInteger)index
{
  // プレビューするファイルのパスを NSURL で返す
  NSString* filePath = [[NSBundle mainBundle] pathForResource:docName ofType:docExtention];
  NSURL* url = nil;
  if (filePath) {
    url = [NSURL fileURLWithPath:filePath];
  }
  return url;
}

下の矢印で前後のファイルに移動できる

 

右上のアイコンからメニューを開く


対応している他のアプリで開くことも出来る



参考:WWDC2010 Session106 Understanding Document Interaction Controller

関連する投稿