2009-06-12 3 views
3

У меня есть приложение, которое загружает UIWebView. И это хорошо работает. Пользователь может щелкнуть ссылку в веб-представлении, которая затем создает новый контроллер представления/веб-просмотр для загрузки ссылки, что также хорошо работает.UIWebView пуст при навигации обратно в вид

Что плохо работает, это иногда (возможно, 1/4), когда я возвращаюсь к исходному веб-виду, вид пуст белый.

Контроллер не освобождается и не получает предупреждения о памяти между ними. И я полностью озадачен.

Кто-нибудь знает, что происходит, и особенно, как его исправить?

Вот любые методы, которые имеют ничего общего с контроллерами:

Initial Controller:

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

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]; 

называлась когда Передача nil для baseURL: аргумент UIWebView's -loadHTMLString: baseURL: метод. Эта ошибка появилась после обновления до iOS 4.3 SDK.