我尝试将标签栏设置为在每个视图控制器上具有不同的背景图像。
class CharacterVC: UIViewController {
var tabBarApparence = UITabBar.appearance()
override func viewDidLoad() {
super.viewDidLoad()
tabBarApparence.backgroundImage = UIImage(named: "BlueTB") //Loaded from Image Asset
}
这样可以正常工作并在该视图中将其更改为蓝色,但是当我转到下一个视图时,它会保持蓝色并且不会更改为我使用此代码编程的红色:
class AnonVC: UIViewController {
var tabBarApparence = UITabBar.appearance()
override func viewDidLoad() {
super.viewDidLoad()
tabBarApparence.backgroundImage = UIImage(named: "RedTabBar")
// addtional code here
}
我还有2个视图控制器,一个应显示图像的绿色版本,另一个应显示图像的紫色版本。
有什么建议可以解决这个问题吗?
答案 0 :(得分:4)
如果要在视图控制器中更改TabBar的外观非常简单。你可以在函数viewDidLoad或viewWillAppear中使用它。代码是下一个:
// Set color of titles and icons in tabBar
self.tabBarController?.tabBar.tintColor = UIColor.redColor()
// Set color of background tabBar
self.tabBarController?.tabBar.barTintColor = UIColor.blueColor()
答案 1 :(得分:1)
ViewWillApper()