メール (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 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。