更改单条形条的项目背景颜色 - swift?

时间:2015-03-25 07:43:02

标签: swift

我有一个UITabBar,我想改变中间项目的背景颜色,但我无法弄清楚如何! (我想让酒吧的其余部分保持深灰色。)

 let barTintColor = UIColor(red: 54/255, green: 54/255, blue: 54/255, alpha: 1.0)
 UITabBar.appearance().barTintColor = barTintColor

1 个答案:

答案 0 :(得分:3)

您可以通过在TabBar中插入新的子视图来实现此目的 请查看this answer:

// Add background color to middle tabBarItem
let itemIndex = 2
let bgColor = UIColor(red: 0.08, green: 0.726, blue: 0.702, alpha: 1.0)

let itemWidth = tabBar.frame.width / CGFloat(tabBar.items!.count)
let bgView = UIView(frame: CGRectMake(itemWidth * itemIndex, 0, itemWidth, tabBar.frame.height))
bgView.backgroundColor = bgColor
tabBar.insertSubview(bgView, atIndex: 0)

希望它有所帮助。

编辑:
如果您想更改background image而不是background color,您只需要更改该行:

bgView.backgroundColor = bgColor

以imageView为背景,然后将其添加为子视图。它可能看起来像这样:

backgroundView = UIImageView(image: UIImage(named: "tabBarImage"))
bgView.addSubview(backgroundView)