hidesBottomBar当垂直推入一个居中的布局

时间:2016-02-17 14:36:48

标签: ios autolayout

很简单。

我有一个我想要推送的UIViewController,但是我想让UITabBar掉线。所以,我设置了" hidesBottomBarWhenPushed"旗。效果很好,除了......

我推动的视图有一个主视图,它是垂直居中的,使用自动布局约束。

效果是视图被绘制为居中(就好像UITabBar仍在那里),然后它向下跳跃20个左右(UITabBar高度的1/2)。

似乎我能够可靠地处理这个问题的唯一方法就是隐藏我的视图,然后检查标签栏的状态,(检查隐藏标志),然后隐藏它。然后当我的viewController消失时,使标签栏可见。

我真的很想编写额外的代码来完成所有这些,因为这里有一个非常好的标志,我不想记住状态标签栏...此视图可能会在其他地方使用。

对我来说,布局的居中并没有计算知道标签栏正在消失,这似乎真的很奇怪。该标志位于视图所拥有的VC上,因此看起来这个计算应该能够作为普通自动布局规则的一部分来完成。

如果有一个强制Autolayout通过正确的中心解决的好方法,请告诉我。

1 个答案:

答案 0 :(得分:1)

我想你是从Storyboard加载你的视图控制器。

首先,检查视图的底部约束 - 如果它固定为父视图,或者 Directory1 │ ├── Directory2 │ ├── index.html (needs to be able to link to directory3) ├── Directory3 │ ├── index.html (needs to be able to link to directory2)

然后相应地在故事板中设置视图控制器的外观(显示或隐藏标签栏,工具栏等)。