hidesBottomBar 垂直居中布局推送时

Posted

技术标签:

【中文标题】hidesBottomBar 垂直居中布局推送时【英文标题】:hidesBottomBarWhen pushed with vertically a centered layout 【发布时间】:2016-02-17 14:36:48 【问题描述】:

很简单。

我有一个要推送的 UIViewController,但我希望 UITabBar 放弃。所以,我设置了“hidesBottomBarWhenPushed”标志。效果很好,除了...

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

效果是view居中绘制(好像UITabBar还在),然后往下跳20点左右(UITabBar高度的1/2)。

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

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

在我看来,布局的居中不是在知道标签栏消失的情况下计算出来的。该标志位于视图拥有的 VC 上,因此该计算似乎应该能够作为正常自动布局规则的一部分来完成。

如果有一个很好的方法可以强制自动布局解决正确中心,请告诉我。

【问题讨论】:

Interface Builder 中是否选中了“Extend Edges>Under Bottom Bars”? 【参考方案1】:

我想您正在从 Storyboard 加载视图控制器。

首先,检查视图的底部约束 - 如果它固定到父视图,或者固定到 bottomLayoutGuide

然后在情节提要中相应地设置视图控制器的外观(显示或隐藏标签栏、工具栏等)。

【讨论】:

感谢您的提示。就我而言,我应该将底部约束设置为父视图的底部,而不是底部布局指南。

以上是关于hidesBottomBar 垂直居中布局推送时的主要内容,如果未能解决你的问题,请参考以下文章

React Native 中的 Flex Box 的用法(水平布局垂直布局水平居中垂直居中居中布局)

如何在垂直线性布局中垂直居中视图?

android 水平布局中怎么设置个垂直布局的控件

垂直居中,水平居中,垂直+水平居中,圣杯和双飞翼布局

pc端常见布局---垂直居中布局 单元素定高

bootstrap布局中的 图片如何垂直居中