2009-06-12 43 views
3

我有一個加載UIWebView的應用程序。那效果很好。用戶可以單擊Web視圖中的鏈接,然後創建一個新的視圖控制器/ Web視圖來加載鏈接,這也很適用。導航回視圖時UIWebView變空了

什麼不是很好,有時候(可能是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):

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

回答

1

你確定它不接受記憶警告?

發生這種情況可能並不明顯。

+0

我認爲這是事實。 – Carl 2009-06-26 15:42:24

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後出現此錯誤。