Открыть в .. для html-страниц (в Safari) - PullRequest
1 голос
/ 21 июня 2011

Мне было интересно, смогу ли я создать приложение, которое поддерживает открытие .html-страниц.

Например, если приложение поддерживает .pdf, при открытии .pdf появляется небольшое серое поле с кнопкой «Открыть в myApp». Могу ли я получить что-то подобное, но потом для веб-страницы?

1 Ответ

2 голосов
/ 21 июня 2011

Хм, вы говорите о UIDocumentInteractionController тогда.
Реализуйте UIDocumentInteractionControllerDelegate в вашем UIViewController

- (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». Все это происходит в любом приложении, которое взаимодействует с файлом (поскольку сами файлы не отображаются в пользовательском интерфейсе).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...