1

我在 UINavigationController 上推了一个 ViewController,但我没有看到“后退”按钮......导航栏是空的,但在那里。

在我的故事板中,我的初始视图控制器是 NavigationController,我在 Simulated Metrics 部分中将“顶栏”设置为“无”。当我切换到推断或导航栏时,一切正常,我看到带有文本“后退”的后退按钮。(但是我的所有视图都很丑,因为我出于某种原因删除了 NavBar)。

我怎样才能保留我的设计(NavBar 隐藏/不存在)并能够使用 NavBar 和 Back 按钮推送新的 ViewController。按需导航栏!

谢谢

4

2 回答 2

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;
    }
}
于 2012-04-24T12:06:05.990 回答
0

您想在应用程序中配置导航,请在应用程序委托中的 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];
于 2012-04-24T12:16:37.563 回答