У меня есть приложение с вкладками с вкладкой, содержащей UIWebView и вторую вкладку с Table View Controller.Загрузка веб-страницы iOS в UIWebView из другого контроллера просмотра
Я пытаюсь сделать так, чтобы, когда я нажимаю на строку в таблице, она берет меня на другую вкладку и загружает веб-страницу.
Вот мой Раскадровка:
Это в моей реализации для веб-просмотра:
-(void)loadAViewer:(NSURL*)viewerURL
{
NSURLRequest *requestObj = [NSURLRequest requestWithURL:viewerURL];
[sfnViewer loadRequest:requestObj];
}
А затем в контроллере табличного:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//Get the URL from plist
...
//Generate url, pass it in and switch to web view tab
viewerURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/viewer?username=%@&pw=%@&%@", web, loc, user, pass, params]];
ViewerFirstViewController *viewerWebView = [[ViewerFirstViewController alloc] init];
[viewerWebView loadAViewer:viewerURL];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
[self.tabBarController setSelectedIndex:0];
}
В настоящее время ничего не происходит. Я перешел на другую вкладку, но с пустым UIWebView - не загружается страница, но она не сбой.
// Правка - Изменения, сделанные на основе ответа от Стива
Основываясь на этом, я добавил @property (сильная, неатомическая) NSURL viewerUrl; в моем файле .h для вкладки UIWebView.
Я синтезировал его в формате .m и добавил в свой метод viewDidLoad.
NSURLRequest *requestObj = [NSURLRequest requestWithURL:viewerURL];
[sfnViewer loadRequest:requestObj];
В настольном контроллере просмотра теперь я делаю это.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//Get the URL from plist
...
//Generate url, pass it in and switch to web view tab
viewerURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/viewer?username=%@&pw=%@&%@", web, loc, user, pass, params]];
ViewerFirstViewController *viewerWebView = [[ViewerFirstViewController alloc] init];
[viewerWebView setViewerUrl:viewerURL];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
[self.tabBarController setSelectedIndex:0];
}
По-прежнему безрезультатно.
В чем тут вопрос? Разве это не работает? Какое сообщение об ошибке вы получаете? – micantox
Он не загружается, он перемещается на другую вкладку, но мне предоставляется пустой контроллер. Отредактированный вопрос, чтобы сделать его более понятным :) –