代码之家  ›  专栏  ›  技术社区  ›  pb4now

占据屏幕一半的tabview[关闭]

  •  0
  • pb4now  · 技术社区  · 7 年前

    如下图所示,我在屏幕中间添加了一个选项卡栏,希望它在屏幕底部的两个视图之间切换。有什么办法可以做到这一点吗?

    enter image description here

    2 回复  |  直到 7 年前
        1
  •  1
  •   Shehata Gamal    7 年前

    是的,可以使用ContainerViews完成此操作,从对象库中拖动一个VC,并在其中拖动两个uiContainerViews,它们分别以相等的高度约束钩住顶部和底部锚,然后将每个子VC嵌入到uitabarcontroller中,同样,您可以通过在mainvc中添加2个子uitabbarcontroller,并使用适当的约束使它们占用所需的空间,以编程方式完成此任务。

        2
  •  1
  •   Henrique Mazer    7 年前

    如果你想在现有风险投资的基础上再使用另一个风险投资,我无法告诉你具体的操作方法,但我可以创建一个与你希望使用此回购协议的效果非常相似的效果: https://github.com/martinnormark/HalfModalPresentationController 这将使用另一个VC来查看屏幕的下半部分,虽然它存在,但您不能与上半部分(在您的情况下,您的日历)交互。

    或者,如果您不想使用另一个视图控制器,而是使用您已经拥有的vc中的一个简单uiview,则可以使用此代码来检测何时选择了选项卡栏上的按钮。

    func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
        if item.title = "some_title" {
            firstView.isHidden = true
            secondView.isHidden = false
        }
    }
    

    别忘了加上 UITabBarDelegate 将选项卡栏链接到接口生成器上的委托(或添加 tabBar.delegate = self 在你的视图上加载)。