2012-04-23 157 views
1

我在我的UINavigationController上推一個ViewController,但我看不到'後退'按鈕... NavBar是空的,但在那裏。後退按鈕不顯示

在我的故事板中,我的初始視圖控制器是NavigationController,我在「模擬度量」部分中將「頂部欄」設置爲「無」。當我切換到推斷或導航欄時,一切正常,我看到後退按鈕文本「後退」。 (但之後,我因爲某種原因刪除了NavBar,所有View都很醜陋)。

如何保存我的設計(NavBar隱藏/不存在),並能夠用NavBar和Back按鈕推送新的ViewController。 NavBar按需提供!

感謝

回答

0

找到了解決方法:只要把我的AppDelegate爲UINavigationController的代表和手動隱藏/顯示的NavBar。

在我的故事板,導航控制器是:

  1. 模擬指標 - >頂酒吧 - >無

  2. 導航控制器 - >條可見性 - >取消選中 「顯示導航 欄」

的AppDelegate中.H/.M:

@interface AppDelegate : UIResponder <UIApplicationDelegate, UINavigationControllerDelegate> 


- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 
    if (something) { 
     navigationController.navigationBarHidden = TRUE; 
    } 
} 

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 
    if (somethingElse) { 
     navigationController.navigationBarHidden = FALSE; 
    } 
} 
0

你想配置的應用 導航應用委託

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootViewController]; 

[window makeKeyAndVisible]; 
[window addSubview:navController.view]; 

嘗試這種在ApplicationDidFinishLoading方法使用此之後按鈕的操作方法來改變視圖

DetailViewController *ViewController = [[DetailViewController alloc] initWithNibName:nil bundle:nil]; 

    [self.navigationController pushNavigationController:ViewController animated:YES];