Iphone UIWebView在导航回视图时变为空白

Iphone UIWebView在导航回视图时变为空白,iphone,uiwebview,uinavigationcontroller,Iphone,Uiwebview,Uinavigationcontroller,我有一个加载UIWebView的应用程序。这很有效。用户可以在web视图中单击一个链接,然后创建一个新的视图控制器/web视图来加载该链接,该链接也可以正常工作 不太好用的是,有时(可能是1/4)当我返回初始web视图时,视图是空白的白色 控制器未被解除分配,其间未收到内存警告。我完全感到困惑 有人知道发生了什么,尤其是如何修复吗 以下是与控制器有关的任何方法: 初始控制器: - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequ

我有一个加载UIWebView的应用程序。这很有效。用户可以在web视图中单击一个链接,然后创建一个新的视图控制器/web视图来加载该链接,该链接也可以正常工作

不太好用的是,有时(可能是1/4)当我返回初始web视图时,视图是空白的白色

控制器未被解除分配,其间未收到内存警告。我完全感到困惑

有人知道发生了什么,尤其是如何修复吗

以下是与控制器有关的任何方法:

初始控制器:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    if (navigationType == UIWebViewNavigationTypeLinkClicked)
    {
        WebView * wv = [[WebView alloc] initWithNibName:@"WebView" bundle:nil];
        UIBarButtonItem *backBar = [[UIBarButtonItem alloc] initWithTitle:@"Back to the Article" style:UIBarButtonItemStyleDone target:nil action:nil];
        self.navigationItem.backBarButtonItem = backBar;
        [backBar release];
        [[UIAppDelegate navigationController] pushViewController:wv animated:YES];
        [[wv webView] loadRequest:request];
        [wv release];
    }
    return NO;
}
else
    return YES;
}
其他控制器(WebView):


你确定它没有收到内存警告吗


发生这种情况时可能不明显。

我遇到了一个类似的问题,我使用以下方法解决了这个问题:

[self.webView loadHTMLString:@"HTML GOES HERE" baseURL:[NSURL URLWithString:@""]];
而不是:

[self.webView loadHTMLString:@"HTML GOES HERE" baseURL:nil];
很明显,UIWebView一开始就被清除了

[[self navigationController] presentModalViewController:myModalViewController animated:YES];

为UIWebView的-loadHTMLString:baseURL:方法的baseURL:参数传递nil时调用。这个bug是在升级到iOS 4.3 SDK后出现的。

我认为情况就是这样。
[[self navigationController] presentModalViewController:myModalViewController animated:YES];