MDCTabBarViewController Получить панель на верхнюю позицию - PullRequest
0 голосов
/ 07 января 2019

Я использую компоненты iOS Material в своем приложении, и я наткнулся на вкладки здесь . Реализовать это было легко, и после того, как я сделал несколько небольших изменений в соответствии с моим дизайном, я получил желаемый результат:

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 он создаст нижнюю привязанную панель вкладок, но как использовать ее так, как они четко иллюстрируют пример компонентов «Вкладки», где вкладки расположены вверху?

...