Вкладки компонентов материалов Размер элемента в Swift - PullRequest
1 голос
/ 10 июля 2019

enter image description here

Я хочу автоматически изменить размеры элементов в соответствии с номером UITabBarItem.Тем не менее, размер элемента не регулируется автоматически.Я хотел бы иметь два элемента, заполненных панелью вкладок, три из них заполнены панелью вкладок.

В настоящее время панель вкладок содержит элемент, но панель вкладок не заполнена, поскольку размер постоянен.

enter image description here

let tabBar = MDCTabBar(frame: CGRect(x: 0, y: 88, width: 414, height: 40))

override func viewDidLoad() {
    super.viewDidLoad()

    configureTabBar()
}

func configureTabBar() {
    tabBar.items = [
        UITabBarItem(title: "one", image: .none, tag: 0),
        UITabBarItem(title: "two", image: .none, tag: 0),
    ]

    tabBar.itemAppearance = .titledImages
    tabBar.autoresizingMask = [.flexibleWidth, .flexibleBottomMargin]
    tabBar.sizeToFit()
    tabBar.tintColor = UIColor.red
    tabBar.barTintColor = UIColor.white
    tabBar.rippleColor = UIColor.red
    tabBar.bottomDividerColor = UIColor.lightGray
    tabBar.unselectedItemTintColor = UIColor.gray
    tabBar.selectedItemTintColor = UIColor.red

    view.addSubview(tabBar)
}

Какие параметры мне нужно добавить, чтобы элемент заполнял панель вкладок, как в примере на вкладке Компоненты материала

1 Ответ

1 голос
/ 10 июля 2019

Как добавить код ниже в configureTabBar ()

tabBar.alignment = .justified

Редактировать: MDCTabBar имеет свойство под названием «выравнивание», поэтому согласно документации в MaterialComponents MDCTabBar.h и MDCTabBar.m:

Свойство «выравнивание» - это горизонтальное выравнивание вкладок в панели вкладок.Изменения не анимированы.По умолчанию используется выравнивание MDCTabBarAlignmentLeading.Значение по умолчанию основано на позиции и рекомендуется для большинства приложений

тип выравнивания - перечисление MDCTabBarAlignment с четырьмя типами перечисления:

  1. MDCTabBarAlignmentLeading-> Элементы выравниваются по переднему краю и имеют размер, соответствующий их содержимому

  2. MDCTabBarAlignmentJustified -> Элементы имеют одинаковый размер по ширине экрана.Для этого выравнивания отключена избыточная прокрутка.

  3. MDCTabBarAlignmentCenter -> Размеры элементов соответствуют их содержимому и выровнены по центру как группа.Если они не умещаются в поле зрения, они будут выровнены по линиям.

  4. MDCTabBarAlignmentCenterSelected -> Вкладки выровнены по центру выбранного элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...