У меня есть UIWebView с содержимым, заполненным из вызова API Last.fm.
Этот контент содержит ссылки, многие из которых обрабатываются путем анализа информации с URL в:
- (BOOL)webView:(UIWebView *)aWbView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
… и передача этой информации в контроллеры подходящего вида.
Когда я не могу обработать URL, я хотел бы поместить новый контроллер представления в стек и загрузить туда веб-страницу в UIWebView.
TTWebController в Three20 выглядит очень многообещающе, поскольку в нем также реализована панель навигации, индикаторы загрузки и т. Д.
Возможно, наивно я думал, что смогу использовать этот контроллер для отображения веб-контента в своем приложении, не внедрив Three20 во всем приложении. Я следовал инструкциям на github, чтобы добавить Three20 в свой проект, и добавил следующий код для работы с URL-адресами в shouldStartLoadWithRequest:
TTWebController* browser = [[TTWebController alloc]init];
[browser openURL:@"http://three20.info"]; //initially test with this URL
[self.navigationController pushViewController:browser animated:YES];
Это приводит к сбою моего приложения, однако, со следующим уведомлением:
*** -[TTNavigator setParentViewController:]: unrecognized selector sent to instance 0x3d5db70
Что еще мне нужно сделать для реализации TTWebController в моем приложении?
Или вам известен альтернативный шаблон контроллера представления, который я могу использовать вместо реализации Three20?