我有一個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