【发布时间】:2013-09-25 23:59:58
【问题描述】:
我有一个选项卡式应用程序,其中一个选项卡包含一个 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; 在我的 UIWebView 选项卡的 .h 文件中。
我已在 .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];
}
还是没用。
【问题讨论】:
-
这里的问题到底是什么?它不工作吗?您收到什么错误消息?
-
它没有加载,它移动到另一个选项卡,但我看到的是一个空白的视图控制器。编辑问题以使其更清楚:)
标签: iphone ios objective-c uitableview uiwebview