0

我在弄清楚如何从适用于 iOS 的 Google Material Design 禁用标签栏的水平滚动时遇到问题。我打算制作一个带有 3 个选项卡选项的固定选项卡栏。

也许有人可以帮助我。先感谢您。

示例代码:

import UIKit
import MaterialComponents
import ChameleonFramework

class ViewController: UIViewController, MDCTabBarDelegate {


  override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = .white
    navigationController?.navigationBar.isTranslucent = false
    setupView()
  }

  let tabBarContainer: MDCTabBar = {

    let tabBar = MDCTabBar()

    tabBar.barTintColor = .white

    tabBar.items = [
      UITabBarItem(title: "All Activities", image: nil, tag: 0),
      UITabBarItem(title: "Bookmark", image: nil, tag: 0),
      UITabBarItem(title: "My Journal", image: nil, tag: 0)
    ]

    tabBar.itemAppearance = .titledImages
    tabBar.autoresizingMask = [.flexibleWidth, .flexibleBottomMargin]
    tabBar.sizeToFit()

    tabBar.tintColor = UIColor.rgb(red: 12, green: 82, blue: 143)
    tabBar.selectedItemTintColor = UIColor.rgb(red: 12, green: 82, blue: 143)
    tabBar.unselectedItemTintColor = .lightGray

    return tabBar
  }()

  func setupView() {
    view.addSubview(tabBarContainer)
    view.addConstraintsWithFormat("H:|[v0]|", views: tabBarContainer)
    view.addConstraintsWithFormat("V:|[v0(48)]", views: tabBarContainer)
  }
}

模拟器上问题的实际示例

4

3 回答 3

2

可能是我迟到了,但我可以通过

tabBar.alignment = .justified
于 2017-08-23T20:35:07.343 回答
0

如果可用,试试这个:在 tabBarContainer

tabBar.scrollView.bounces = NO;

对于 swift 3.0 及更高版本

tabBar.scrollView.bounces = false
于 2017-05-31T08:05:20.423 回答
0

MDCTabBar当您将其对齐方式 ( MDCTabBarAlignment) 设置为:

.leading,.center.centerSelected并且选项卡不适合给定的框架。

如果您将其设置为.justified,项目将被缩小以适合框架。

myMdcTabBar.alignment = .justified
于 2018-11-01T09:02:23.157 回答