我正在使用UINavigationController
并且UITabbar
喜欢这个。
从图像中你可以看到图表,当我从图像“6”点击到图像“2”时,我想隐藏 tabbarcontroller,对我来说非常困难。
我试过了
self.tabBarController.hidesBottomBarWhenPushed = YES;
但是 uitabbar 在返回图像“2”时仍然显示
这个怎么做?
我正在使用UINavigationController
并且UITabbar
喜欢这个。
从图像中你可以看到图表,当我从图像“6”点击到图像“2”时,我想隐藏 tabbarcontroller,对我来说非常困难。
我试过了
self.tabBarController.hidesBottomBarWhenPushed = YES;
但是 uitabbar 在返回图像“2”时仍然显示
这个怎么做?
图表(故事板)令人担忧。你真的要按它说的去做吗?有一个圆圈;这肯定是不对的。
请记住,当您使用 segue 时,您正在创建此视图控制器的新实例。因此,您正在创建 2,然后是 3,然后是 4,然后是 5,然后是 6,然后在其之上创建另一个 2,在视图控制器的潜在无限循环中堆积。
当然,当你到达 6 时,你想做的就是一直放松回到 2。你想移除 6,移除 5,移除 4,移除 3,让你回到 2。
或者也许你想要一个2 的不同实例,显示在 6 之上,但它应该是不同的,而不是循环从 6 返回的同一个实例。在情节提要中拥有多个相同视图控制器的实例是很好的,并且它们可以进行不同的配置。
故事板有一个循环,它不能那样工作。我建议您将登录屏幕从流程中取出并在代码中实例化它。因此,它可以在任何地方轻松使用。
首先断开所有segue,然后将其嵌入导航控制器中。给导航控制器一个标识符,然后使用:
[storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
然后以模态方式呈现它,它将覆盖底部栏。
您正在推送的 UIViewController 应该设置此属性。
这是一个例子:
MyAppViewController *controller = [[MyAppViewController alloc] init];
controller.hidesBottomBarWhenPushed = YES;
您正在推送 viewController,因此使用此属性的方法适用于正在推送到导航堆栈的 viewController。
请记住: hidesBottomBarWhenPushed 仅在视图控制器被推送时起作用,并且在模态呈现时不会按预期工作