答案 0 :(得分:1)
是的,您可以使用containerViews完成此操作,从对象库中拖动VC并将其中的2个UIContainerViews拖到顶部和顶部。底部锚点和它们之间分别具有相等高度约束,然后将每个子VC嵌入到UITaBarController中,也可以通过将2个子UITabBarControllers添加到具有适当约束的mainVC以使它们占用所需空间来以编程方式完成此操作
答案 1 :(得分:1)
如果你想在你已有的VC之上使用另一个VC,我无法确切地告诉你如何做到这一点但是我能够使用这个repo创建一个非常类似的效果:{{ 3}} 这使用另一个VC作为屏幕的下半部分视图,当它存在时,您无法与上半部分(在您的情况下,您的日历)进行交互。
或者,如果您不想在VC中使用另一个View Controller,而是使用简单的UIView,则可以使用此代码检测TabBar上的按钮何时被选中。
func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
if item.title = "some_title" {
firstView.isHidden = true
secondView.isHidden = false
}
}
不要忘记将UITabBarDelegate
添加到您的类中,并将TabBar链接到界面构建器上的委托(或在viewDidLoad上添加tabBar.delegate = self
)。