2009-06-12 12 views
3

Ich habe eine App, die ein UIWebView lädt. Und das funktioniert gut. Es ist möglich, dass der Benutzer auf einen Link in der Webansicht klickt, der dann einen neuen View-Controller/eine neue Webansicht erstellt, um den Link zu laden, was ebenfalls gut funktioniert.UIWebView wird leer wenn ich zurück zur Ansicht gehe

Was nicht so gut funktioniert, ist das manchmal (1/4 vielleicht), wenn ich zurück zur ursprünglichen Webansicht komme, ist die Ansicht leer weiß.

Der Controller wird nicht freigegeben und empfängt keine Speicherwarnung dazwischen. Und ich bin total verwirrt.

Wer weiß, was los ist, und vor allem, wie es zu beheben?

Hier sind alle Methoden, die etwas mit den Controllern zu tun haben:

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

Andere Controller (WebView):

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

Antwort

1

Sind Sie sicher, dass dies nicht der Empfang eine Speicherwarnung?

Es ist möglicherweise nicht offensichtlich, wenn dies auftritt.

+0

Ich denke, dass dies der Fall war. – Carl

0

Ich hatte ein ähnliches Problem, das ich unter Verwendung aufgelöst:

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

statt:

[self.webView loadHTMLString:@"HTML GOES HERE" baseURL:nil]; 

Anscheinend ist der UIWebView wurde, sobald

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

Clearing wurde aufgerufen, wenn Übergabe von nil für das Argument baseURL: Argument von UIWebView -loadHTMLString: baseURL: method. Dieser Fehler trat nach dem Upgrade auf das iOS 4.3 SDK auf.

Verwandte Themen