5

我在我的应用程序中使用 iOS Material 组件,我在这里遇到了选项卡。实现它很容易,在我做了一些小改动以匹配我的设计后,结果就是我想要的:

右侧位置标签栏

我使用以下代码实现了这一点:

func setupTabBar() {
    let customTabBar = MDCTabBar(frame: view.bounds)
    customTabBar.items = [
        UITabBarItem(title: "Cards", image: nil, tag: 0),
        UITabBarItem(title: "Mobile", image: nil, tag: 0)            
    ]
    customTabBar.itemAppearance = .titledImages
    customTabBar.alignment = .justified
    customTabBar.itemAppearance = .titles

    //colors
    customTabBar.tintColor = #colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 1)
    customTabBar.selectedItemTintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
    customTabBar.unselectedItemTintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
    customTabBar.barTintColor = UIColor(red:0.00, green:0.33, blue:0.59, alpha:1.0)

    tabBarContainerView.addSubview(customTabBar)
    customTabBar.sizeToFit()

    tabBarContainerView.layer.shadowOffset = CGSize(width: 0, height: 2)
    tabBarContainerView.layer.shadowRadius = 8
    tabBarContainerView.layer.shadowOpacity = 0.5
    tabBarContainerView.layer.shadowColor = UIColor.black.cgColor        
}

但是,这只是 Tar 栏,我需要有一个功能选项卡视图,用户可以在其中在两个页面之间切换。没问题,因为文档说只是从 MDCTabBarViewController 继承,这确保我的页面被标签,但这也在底部添加了另一个标签栏,这很好,现在我不自己创建一个,所以我删除了我的但是现在我只想让它在顶部,但找不到要设置的属性以使其处于顶部位置:

错误的位置标签栏

这是代码:

func setupTabViews()  {
    let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
    let cardsVC = storyboard.instantiateViewController(withIdentifier: "cardsWalletViewController")
    let mobileVC = storyboard.instantiateViewController(withIdentifier: "mobileWalletViewController")

    let vcArray = [cardsVC, mobileVC]
    viewControllers = vcArray

    let childVC = viewControllers.first
    selectedViewController = childVC

    tabBar?.delegate = self

    tabBar?.items = [
        UITabBarItem(title: "Cards", image: nil, tag: 0),
        UITabBarItem(title: "Mobile", image: nil, tag: 0)
    ]

    tabBar?.itemAppearance = .titledImages
    tabBar?.alignment = .justified
    tabBar?.itemAppearance = .titles

    //colors
    tabBar?.tintColor = #colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 1)
    tabBar?.selectedItemTintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
    tabBar?.unselectedItemTintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
    tabBar?.barTintColor = UIColor(red:0.00, green:0.33, blue:0.59, alpha:1.0)

    tabBar?.selectedItem = tabBar?.items.first
}

我注意到,在 MDCTabBarViewController 的文档中,它将创建一个底部锚定的选项卡栏,但是如何以它们在选项卡位于顶部的“选项卡”组件示例中清楚说明的方式使用它?

4

0 回答 0