我有一个添加导航栏并显示新视图的“didSelectRowAtIndexPath”操作。新视图中有一个动作将另一个视图推送到导航堆栈上,它可以工作,但是单击“返回”不会恢复以前的视图。
顺序基本上是:
- 用户单击表格单元格
- 出现导航栏,下方有新视图,显示一些带有链接的 html
- 用户单击链接并将新视图添加到导航中,以及后退按钮
- 用户单击后退按钮,导航正确回滚,但视图没有改变
通过捕获对链接的单击来添加新视图,如下所示:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
if(navigationType == UIWebViewNavigationTypeLinkClicked) {
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"webpage"];
[flipsideNavigationBar pushNavigationItem:navigationItem animated:YES];
[navigationItem release];
WebViewController *viewController = [[WebViewController alloc] initWithNibName:@"webView" bundle:nil];
UIView *webPageView = self.webViewController.view;
[webPageView addSubview:viewController.view];
[webPageView insertSubview:flipsideNavigationBar aboveSubview:viewController.view];
[[viewController.view.subviews objectAtIndex:1] loadRequest:request];
[webView stopLoading];
return YES;
}
return YES;
}
我不确定我做错了什么;应该发生的是“后退”按钮应该关闭当前视图并返回到前一个视图。任何人都可以建议任何尝试吗?
谢谢!
约翰