MDCTabBarViewController获取条至最高位置

时间:2019-01-07 07:19:07

标签: material-components material-components-ios

我在我的应用程序中使用iOS Material组件,但遇到标签here。实施起来很容易,在我做了一些小的改动以匹配我的设计之后,结果就是我想要的:

Right position tab bar

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

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,这确保了我的页面被制表,但是这还在底部添加了另一个选项卡栏,这很好,现在我不能自己创建一个,所以我删除了我的,现在我只希望它排在最前面,但是找不到要设置为使其位于顶部的属性:

wrong position tab bar

这是该代码:

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的文档中,它将创建一个底部锚定的标签栏,但是如何以它们在“标签”组件示例中清楚地说明的方式使用它,标签位于顶部? / p>

0 个答案:

没有答案