iOS - 带有布局指南的 UITabBar 上方的 UIView

Posted

技术标签:

【中文标题】iOS - 带有布局指南的 UITabBar 上方的 UIView【英文标题】:iOS - UIView above UITabBar with Layout Guide 【发布时间】:2017-08-17 11:00:28 【问题描述】:

我的 UITabBar 上方有一个 UIView,它可以显示和消失。该视图作为子视图添加到 UITabBarController 的视图中。我想根据视图的状态更改底部布局指南。

示例: 当视图被隐藏时,底部布局指南动画到 TabBarController 的默认值。当 View 可见时,Bottom Layout Guide 动画到 TabBar 的高度 + TabBar 上方 View 的高度。

我怎样才能做到这一点?

【问题讨论】:

你能更详细地解释一下你想要达到的目标吗? 我编辑了这个问题,够详细了吗? 恕我直言,最简洁的方法是创建一个带有容器视图、可切换视图和标签栏的自定义视图控制器。 底部距离+View的高度成为底部布局指南? 【参考方案1】:

我想要的结果可以在 ios 11 中通过在所需的 ViewController 上使用 additionalSafeAreaInsets 来实现。

viewController.additionalSafeAreaInsets = UIEdgeInsetsMake(0, 0, offsetFromBottom, 0)

如果您想为元素设置动画以适应更新的插图,请将此代码与更新的插图一起添加到您的动画块中。

viewController.view.layoutIfNeeded()

【讨论】:

您能分享一下您是如何做到这一点的,以便对其他人更有用吗?有时一张图片值 1000 字。为您的努力 +1。 我添加了代码,让我知道这是否适合您。 UIEdgeInsets 没有 UIView 作为属性,所以第二行不正确。第一个更有帮助。 感谢您告诉我,第二行用于为动画块内的对象设置动画。

以上是关于iOS - 带有布局指南的 UITabBar 上方的 UIView的主要内容,如果未能解决你的问题,请参考以下文章

自动布局忽略iOS7上的UITabBar(栏下的内容)

UITabbar 在 iOS 10 但不是 11+

在 iOS8 中为 UITabbar 添加阴影

在 UITabbar 上方使用 UIToolbar - 有可能吗?

iOS UITabBar 项目位置

从 UITabBar 中删除 transculent 会在其上方添加灰色框架