我有一个TableViewController,当我选择一个单元格时,它应该加载一个带有WebView的ViewController。从另一个控制器更改UIWebView的内容
下面的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
PostViewController *postViewController = [[PostViewController alloc] initWithNibName:@"PostViewController" bundle:[NSBundle mainBundle]];
[postViewController.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.fr"]]]
[self.navigationController pushViewController:postViewController animated:YES];
[PostViewController release];
}
的问题是,在视图控制器被加载,但什么也没有发生在WebView中。 当我调试程序时,我可以看到WebView的地址是0x0,所以我猜测出错了。 是否因为我试图在其父ViewController加载之前修改WebView的内容?
我想另一种正确的做法是将URL传递给ViewController,然后从viewWillAppear方法内部调用WebView上的loadRequest。 但我需要明白为什么它不能这样工作。
哪里是你的Web视图初始化? – jnic 2011-03-31 15:58:57
恐怕它没有初始化。但在这种情况下,似乎没有必要,因为我尝试了BuildSucceeded的解决方案,并且它的工作原理没有初始化。 WebView被声明为我的PostViewController的出口,并且它被链接到PostViewController.xib中的WebView控件。 – teum 2011-04-01 07:44:20