.htmlページを開くことをサポートするアプリケーションを作成できるかどうか疑問に思っていました。htmlページ用に開く(Safariで)
たとえば、アプリケーションが.pdfをサポートしている場合、.pdfを開くと、「Open in myApp」というボタンが付いた小さなグレーのボックスが表示されます。このようなものを手に入れることはできますか?
.htmlページを開くことをサポートするアプリケーションを作成できるかどうか疑問に思っていました。htmlページ用に開く(Safariで)
たとえば、アプリケーションが.pdfをサポートしている場合、.pdfを開くと、「Open in myApp」というボタンが付いた小さなグレーのボックスが表示されます。このようなものを手に入れることはできますか?
ええとあなたはUIDocumentInteractionController
について話しています。あなたのUIViewControllerで
実装UIDocumentInteractionControllerDelegate
は
- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller { return self; }
- (UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller { return self.view; }
- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController *)controller { return self.view.frame; }
そして、オプションボックスをポップアップするには、ナビゲーションバーにボタンを追加します。
// example: opening a .html file
NSString *index = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
// self.controller is a UIDocumentInteractionController ivar
self.controller = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:fileToOpen]];
self.controller.delegate = self;
CGRect rect = self.navigationController.navigationBar.frame;
rect.size = CGSizeMake(1500.0f, 40.0f); // move the box right down under the button
[self.controller presentOptionsMenuFromRect:rect inView:self.view animated:YES];
表示される必要があり、特定のドキュメントをサポートしているアプリケーションのリストを。あるタイプの文書をサポートするためにアプリケーションを登録していない場合でも、「QuickLook」オプションが表示されます。これらのすべては、アプリケーションがファイルとやりとりしているすべてのアプリケーションで発生します(ファイル自体はUIに公開されていないためです)。
アプリが.pdfファイル(バンドルに対応)をサポートしているため、灰色の四角形が自動的に表示されます。これは私がプログラムしたものではなく、iOSは灰色のボックスにアプリでそれを開くオプションを示しています。その時、私のアプリはおそらくまだ始まっていない可能性があります。私は.htmlファイルに対しても同じようにしたいと思います – Joetjah