メール (Mail.app) などで添付ファイルを長押し (タップアンドホールド) すると、「クイックルック (Quick Look)」を含めた対応可能なアプリケーションを選択させるためのアクションシートが表示されます。今回はこのアクションシートの表示の方法を説明します。
このアクションシートの表示にはクラスUIDocumentInteractionController
を利用します。その使用例を次に示します。このコントローラは命名規則からわかるように自動解放されるため、retainしておく必要があります。
- (void)openMenuButtonClicked:(id)sender { UIDocumentInteractionController* diController = [UIDocumentInteractionController interactionControllerWithURL:url]; diController.delegate = self; if ([diController presentOptionsMenuFromRect:self.view.frame inView:self.view animated:YES]) [diController retain]; } - (UIViewController*)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController*)controller { return self; // プレビュー用に用いるビューコントローラ } ? - (void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller { ? [controller autorelease]; ? }
2010.12.21追記: コントローラの解放周りのコードが間違っており、正しく解放されない場合があります。詳細は次の記事を参照してください。
また、メールでのタップのようにいきなり対象ファイルをプレビュー表示させたいときはpresentPreviewAnimated:
を用います。
ちなみに対応アプリケーションが増えると次のようになります。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。