0
我有一個「didSelectRowAtIndexPath」操作,它添加了一個導航欄並顯示一個新視圖。新視圖中有一個操作會將另一個視圖推送到導航堆棧上,並且可以正常工作,但單擊「後退」不會恢復以前的視圖。UINavigationItem返回按鈕返回到上一個導航項,但視圖不更改
序列基本上是:
- 用戶點擊表格單元
- 導航欄出現,與它下面的新視圖,示出一些HTML的鏈接
- 用戶點擊一個鏈接和新的視圖被添加到NAV,伴隨着後退按鈕
- 用戶點擊返回按鈕,NAV回滾正常,但視圖不會更改
新視圖是通過捕獲鏈接上的點擊添加的,如下所示:
- (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;
}
我不確定我在做什麼錯;應該發生什麼是「後退」按鈕應該關閉當前視圖並返回到前一個視圖。任何人都可以提出任何建議嗎?
謝謝!
約翰
感謝您的好消息。它需要一點重寫,但現在它工作。 – John 2009-10-04 03:38:20