【问题标题】:Material Component Tabs Item size in Swift材料组件选项卡 Swift 中的项目大小
【发布时间】:2019-07-10 06:45:15
【问题描述】:

我想自动调整项目的大小以适应 UITabBarItem 的数量。但是,项目的大小不会自动调整。 我想要两个充满标签栏的项目,其中三个充满标签栏。

目前,标签栏有一个项目,但标签栏未满,因为大小是恒定的。

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)
}

我必须添加哪些选项才能使项目像“材料组件”选项卡中的示例一样填充选项卡栏?

【问题讨论】:

  • 嗨@caleb,你能分享一张你想要的照片吗?
  • 嗨@Emre Ciffci!我加了两张照片!上图是我想要的,下图是我实现的视图。
  • 您可以简单地为此创建自定义 segmentedControl。为什么要使用 tabBar?
  • 我要创建的应用是图书应用。我们需要一个标签栏来显示这本书的类型。帮助
  • 我认为你应该使用自定义 segmentedControl,查看 Bruno Faganello 的 Medium 文章 -> medium.com/code-with-coffee/… 我希望它有效。

标签: ios swift tabs


【解决方案1】:

如何在 configureTabBar() 中添加以下代码

tabBar.alignment = .justified

编辑: MDCTabBar 具有称为“对齐”的属性,因此根据 MaterialComponents MDCTabBar.h 和 MDCTabBar.m 中的文档:

属性“对齐”是标签栏中标签的水平对齐方式。更改没有动画。默认对齐方式为 MDCTabBarAlignmentLeading。默认值基于位置,推荐用于大多数应用程序

alignment是MDCTabBarAlignment枚举类型,有四种枚举:

  1. MDCTabBarAlignmentLeading -> 项目在前沿对齐并调整大小以适合其内容

  2. MDCTabBarAlignmentJustified -> 项目在屏幕宽度上对齐为相等大小。过度滚动已禁用 对于这种对齐方式。

  3. MDCTabBarAlignmentCenter -> 项目的大小适合其内容,并作为一个组居中对齐。如果它们不适合视野, 它们将改为前导对齐。

  4. MDCTabBarAlignmentCenterSelected -> 选项卡在所选项目上居中对齐。

【讨论】:

  • 您好,欢迎您。您能否为您的解决方案添加更多详细信息?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-09
  • 1970-01-01
  • 2019-08-13
  • 1970-01-01
  • 2018-11-16
  • 2020-11-10
  • 1970-01-01
相关资源
最近更新 更多