2012-04-23 173 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];