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