iOS:Webview不会加载页面,可能是启动问题?

时间:2012-07-30 20:38:48

标签: ios webview tableview

更新

修正了加载问题。当我使用自定义单元格类时,我只将storyboard中tableview单元格的标识符设置为customcell的名称,而不是实际的类本身!菜鸟错误,对不起!

这解决了viewDidLoad方法中缺少加载网页的问题。现在我只需要对它进行排序,以便根据表行选择加载正确的网页。 PrepareForSegue是否适用于此?感谢

原帖

在我的应用程序中,我有一个带有tableview的FirstViewController,它列出了在打开时在secondviewcontroller中加载webview的对象。

所以在我的didSelectRowAtIndexPath方法中,我目前有:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{   [self performSegueWithIdentifier:@"Detail" sender:self];
    NSIndexPath *selectedRowIndex = [self.tableView indexPathForSelectedRow];
    DetailViewController *detailViewController = [DetailViewController alloc];    
    detailViewController.urlToGet = @"www.google.com"
}

现在,DetailViewController当然在Storyboard中设置了viewcontroller对象,其中设置了委托和webView插座。

在DetailViewController类中,我甚至在viewDidLoad中试过这个,只是为了得到一些网站:

       NSString *fullURL = @"http://www.google.com"; 
NSURL *url = [NSURL URLWithString:fullURL];
 NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:requestObj];

但我得到的只是一个空白的网页浏览。

我尝试了一个新项目的教程,该项目运行良好,然后复制它 - 遗憾的是它现在不能在这里工作。

我也尝试过prepareForSegue(因为这会获得信息),但这不起作用。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    /*
     When a row is selected, the segue creates the detail view controller as the destination.
     Set the detail view controller's detail item to the item associated with the selected row.
     */
    if ([[segue identifier] isEqualToString:@"Detail"]) {

        DetailViewController *detailViewController = [segue destinationViewController];
    detailViewController.urlToGet = @"www.google.com";
}

}

两个ViewControllers之间的segue具有Detail的标识符。

知道为什么我不能让对象加载viewDidLoad中指定的网站?

感谢

2 个答案:

答案 0 :(得分:0)

您必须init视图控制器。在那里发生子视图等的创建。

答案 1 :(得分:0)

修正了它!我使用的是自定义单元类,我只将storyboard中tableview单元格的标识符设置为customcell的名称,而不是实际的类本身!菜鸟错了,对不起!