占用屏幕一半的tabView

时间:2018-06-16 13:42:34

标签: swift tabbar

就像你在下面的图片中看到的那样,我在屏幕中间添加了一个tabBar,我希望它可以在屏幕底部的两个视图之间切换。无论如何要做到这一点?

enter image description here

2 个答案:

答案 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)。