我有一个加载 UIWebView 的应用程序。这很好用。用户可以单击 Web 视图中的链接,然后创建一个新的视图控制器/Web 视图来加载链接,这也很有效。
不太好用的是,有时(可能是 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];
}