我在iOS中使用Material Design库,我试图在导航栏下方的自定义视图中添加 MDCTabBar ,但它不起作用。代码就像
let tabBar = MDCTabBar(frame: self.mainTabBar.bounds)
tabBar.items = [
UITabBarItem(title: "TAB 1", image: nil, tag: 0),
UITabBarItem(title: "TAB 2", image: nil, tag: 1),
]
tabBar.tintColor = UIColor.white
tabBar.barTintColor = UIColor.theme
tabBar.alignment = .justified
tabBar.itemAppearance = .titles
tabBar.autoresizingMask = [.flexibleWidth, .flexibleTopMargin]
tabBar.displaysUppercaseTitles = true
tabBar.sizeToFit()
self.mainTabBar.addSubview(tabBar)
此处mainTabBar
是我的自定义视图,它正好在导航栏下方。请帮忙解决这个问题。
提前致谢!
答案 0 :(得分:3)
您的ViewController类必须从MDCTabBarViewController类继承,如:
class SelectTeamViewController: MDCTabBarViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
然后它应该是可见的。 您甚至可以在故事板中拖动UIView并在Identity Inspector中选择MDCTabBar类
答案 1 :(得分:1)
$node = entity_load('node', array(13), array(), false);
$paragraph = Paragraph::load($node->nid);
$node->custom_field = $paragraph->field_name->value;
此处let tabBar = MDCTabBar(frame: self.mainTabBar.bounds)
tabBar.delegate = self
tabBar.items = [
UITabBarItem(title: "Tab 1", image: nil, tag: 0),
UITabBarItem(title: "Tab 2", image: nil, tag: 1),
]
tabBar.tintColor = UIColor.white
tabBar.barTintColor = UIColor.theme
tabBar.alignment = .justified
tabBar.itemAppearance = .titles
tabBar.autoresizingMask = [.flexibleWidth, .flexibleTopMargin]
tabBar.displaysUppercaseTitles = true
tabBar.sizeToFit()
self.mainTabBar.addSubview(tabBar)
是我的自定义视图,它正好位于NavigationBar之下。
答案 2 :(得分:1)
快捷键4:
有两个原因导致我没有看到我的tabBar!
第二件事是一件棘手的事情,与之前的其他答案有所不同。我将我的 MDCTabBar框架设置为等于view.bounds ,然后使用 sizeToFit 方法将其压缩为容器tabBarView size。这是使我在屏幕上处于正确位置的唯一方法!欢迎您调整一些属性并在您的代码中使用它!阅读您的评论会很有趣!
func setTabBar() {
// Set our MDCTabBar frame equal to view.bounds
let tabBar = MDCTabBar(frame: view.bounds)
tabBar.delegate = self
tabBar.items = [
UITabBarItem(title: NSLocalizedString("FirstTab", comment: ""), image: nil, tag: 0),
UITabBarItem(title: NSLocalizedString("SecondTab", comment: ""), image: nil, tag: 1)
]
tabBar.itemAppearance = .titles
tabBar.barTintColor = .yellow
tabBar.tintColor = .green
tabBar.setTitleColor(.black, for: .normal)
tabBar.setTitleColor(.blue, for: .selected)
tabBar.displaysUppercaseTitles = false
tabBar.alignment = .justified
// This sizeToFit will squash our MDCTabBar to tabBarView size
tabBar.sizeToFit()
// Add MDCTabBar to our tabBarView as a subview
tabBarView.addSubview(tabBar)
}