选项卡栏中的视图控制器在按下导航堆栈中的另一个视图控制器时变黑

时间:2016-10-12 09:40:22

标签: ios objective-c

我有一个应用程序,其中4个视图控制器添加到tabbar。

第一个视图控制器是登陆页面。 视图控制器通过以下方式添加到选项卡栏中。

SNZLandingViewController *landingViewController = [[UIStoryboard landingStoryboard] instantiateViewControllerWithIdentifier:SNZLandingIdentifier];

UINavigationController *landingNavigationController = [[UINavigationController alloc] initWithRootViewController:landingViewController];
[tabBarController addChildViewController:landingNavigationController];

然后,当用户点击按钮时,从登录页面推送视图控制器

ProductsDetailsViewController *detailsPage = [[UIStoryboard storyboardWithName:@"ProductsDetailsViewController" bundle:nil] instantiateViewControllerWithIdentifier:@"ProductsDetailsViewIdentifier"];
[self.navigationController pushViewController:detailsPage animated:YES];

现在显示详细信息页面。但是在点击"回来"在详细信息页面中,着陆页显示为完全黑色。

正在发生的一个奇怪的情况是,在导航动画发生时,着陆页是黑色的。我在这里错过了一些东西。 任何线索或建议都是受欢迎的。

1 个答案:

答案 0 :(得分:0)

所以你根本不想要登陆页面上的导航栏?

将它放到您的登陆页面:

override func viewWillAppear(animated: Bool) {
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
    super.viewWillAppear(animated)
}

这是你的后续viewcontroller:

override func viewWillAppear(animated: Bool) {
    self.navigationController?.setNavigationBarHidden(false, animated: animated)
    super.viewWillAppear(animated)
}

取自此处:iPhone hide Navigation Bar only on first page