【发布时间】:2017-07-12 02:06:45
【问题描述】:
类似于 Spotify 或 Apple Music 应用在播放歌曲时所做的事情,它会在 UITabBar 顶部放置一个自定义视图:
我尝试过的解决方案:
-
UITabBarController 在 ViewController 中具有最大尺寸的 Container View,以及底部布局指南上方 Container View49pt 顶部的自定义视图: 问题: 嵌入在 UITabBarController 中的 ViewController 中的任何内容都不会显示,因为它们隐藏在自定义布局后面。我尝试在 UITabBarController 中覆盖
size forChildContentContainer,尝试更新底部布局指南,Nothing。 我需要调整UITabBarController的容器视图框架。 -
再次尝试#1,但尝试通过increasing the size of UITabBar 解决隐藏在其后面的内容的问题,然后使用ImageInset on every TabBarItem 将其关闭,并将我的自定义视图添加到UITabBar 的顶部。并没有真正奏效。有时我想隐藏我的自定义视图。
-
UITabBarController 以 root 身份,每个孩子都是一个 ViewController 与一个容器视图 + 我的自定义视图: 但是现在我有多个自定义视图的实例漂浮在周围。如果我想更改其上的标签,则必须将其更改为所有视图。或者隐藏等等。
-
覆盖 UITabBarController 的 UITabBar 属性并返回具有 UITabBar + 我的自定义视图的自定义 UITabBar(用 xib 膨胀)。 问题:可能是最令人沮丧的尝试。如果您使用
class MyCustomTabBar : UITabBar {}的实例覆盖该属性,则不会显示任何选项卡!是的,我将myCustomTabBar的代表设置为self。
倾向于#3,但正在寻找更好的解决方案。
【问题讨论】:
-
#3 绝对是一种解决方法,必须有更好的解决方案。
-
@Azizi Javed 你可以在 UINavigationController 上添加视图
-
@aircraft 你能发布一个你所指的例子吗?因为告诉孩子视图控制器他们的有限框架的问题仍然存在。
-
@sweta.me 我添加了解决方案 #4,但这更糟:\