UIWebView を読み込むアプリがあります。そして、それはうまくいきます。ユーザーが Web ビューのリンクをクリックすると、新しいビュー コントローラー/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];
}