导航回视图时UIWebView变为空白

时间:2009-06-12 15:27:40

标签: iphone uiwebview uinavigationcontroller

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

什么做得不好,有时候(1/4或许)当我回到初始网页视图时,视图是空白的。

控制器未被释放,并且未在两者之间接收内存警告。我完全不解。

任何人都知道发生了什么,尤其是如何修复它?

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

初始控制人:

- (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):

- (void)viewDidLoad {
    [super viewDidLoad];
    [webView setDelegate:self];
}

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我有一个类似的问题,我通过使用解决了:

[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时调用了

。升级到iOS 4.3 SDK后出现此错误。