我在我的UINavigationController上推了一个ViewController,但是我看不到'后退'按钮......导航栏是空的但是那里。
在我的故事板中,我的初始View Controller是NavigationController,我在Simulated Metrics部分中将'Top Bar'设置为'None'。当我切换到推断或导航栏时,一切正常,我看到后面的按钮带有“后退”文本。 (但是因为我出于某种原因移除了NavBar,所以我的所有视图都很难看。)
我怎样才能保留我的设计(NavBar隐藏/不存在)并且能够使用NavBar和Back按钮推送新的ViewController。 NavBar点播!
由于
答案 0 :(得分:0)
找到解决方案:只需将我的AppDelegate作为UINavigationController委托并手动隐藏/显示NavBar。
在我的故事板中,导航控制器带有:
模拟指标 - >顶栏 - >无
导航控制器 - >栏可见性 - >取消选中“显示导航 栏“
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;
}
}
答案 1 :(得分:0)
您想要在应用程序中配置导航 在App delegate
中的ApplicationDidFinishLoading方法中试试这个UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
[window makeKeyAndVisible];
[window addSubview:navController.view];
使用此按钮后,在按钮的动作方法中更改视图
DetailViewController *ViewController = [[DetailViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushNavigationController:ViewController animated:YES];