你好,UINavigationController後退按鈕問題
我有一個混合iPhone應用程序有一個UITabBarController和5個選項卡。每個選項卡託管一個UINavigationViewController,它使用一個根控制器進行初始化,該控制器是託管一個UIWebView的UIViewController。在某個特定的鏈接上,我推導導航控制器(顯示一些本地存儲的數據)固有的UITableViewController,並有一個後退按鈕。以下是我在解析shouldStartLoadWithRequest:方法中的URL字符串後的代碼。
UINavigationController *navControl = (UINavigationController *)self.parentViewController;
CartTableViewController *tabView = [[CartTableViewController alloc] init];
[navControl pushViewController:tabView animated:YES];
navControl.navigationBar.hidden = NO;
return YES;
這工作正常。特定的鏈接被解析並且表格視圖被推送到navigationStack上。當我點擊後退按鈕時(並且是顯示'後退'而不是先前視圖的名稱,也就是說'新聞'),我得到另一個表格視圖,但是這次後退按鈕被命名爲'新聞'。當我點擊那個,我回到我的根控制器。我似乎並沒有從兩個視圖的哪個位置通過根視圖推送到堆棧。
謝謝。 Zaki
好吧,我發現這個問題。我需要從shouldStartLoadWithRequest返回NO:這樣的事情。對不起,麻煩了:$ – zakishaheen 2010-06-04 07:53:45
你應該回答你自己的問題,以防止這個問題顯示爲未答覆。另外,我注意到你在上面的代碼中有內存泄漏。你應該在pushViewController之後釋放tabView。導航控制器將保留它。 – 2010-06-04 12:08:54