UIWebView未加载页面

时间:2009-11-19 15:39:22

标签: iphone uiwebview urlrequest

我有一个UITabBarController,其中一个条形项是导航控制器,上面有一些按钮。 其中一个按钮打开urlRequest并将其加载到UIWebView中。

NSURL * url = [NSURL URLWithString:myUrl];
NSURLRequest * urlRequest = [NSURLRequest requestWithURL:url];
UIWebView * web = [tView wView];
[web setScalesPageToFit:YES];
[web loadHTMLString:@"Loading" baseURL:nil];
[web loadRequest:urlRequest];
[self.navigationController pushViewController:tView animated:YES];

出于某种原因,当我第一次点击按钮时没有任何反应。

我使用UIWebViewDelegate协议进行调试,如下所示:

- (void)webViewDidStartLoad:(UIWebView *)webView
{
    NSLog(@"webViewDidStartLoad");

}

当我点击按钮时没有任何反应,我没有看到NSLog消息。 当我回击并再次单击该按钮时,我看到调试,一切正常,只需查找。

知道造成这种情况的原因是什么?

如果我把: [self.navigationController pushViewController:tView animated:YES];

在webViewDidStarLoad方法中,应用程序只是挂起,因为它没有在第一次点击时加载它。

1 个答案:

答案 0 :(得分:2)

您需要确保已加载tView的视图。当viewController被实例化时,它的视图(以及它的所有IBOutlets)都是nil,并且在加载视图之前保持这种状态。

你有两个选择:将你的加载内容移动到tView的-viewDidLoad方法中,或者在调用[tView wView]之前强制加载视图,例如调用[tView view](这将强制加载XIB文件) ,以及所有连接的插座。