我想根据tabbar的选定索引更改tintColor属性。我现在使用的代码不起作用,所有tabbar视图都有这个代码:
- (void)viewDidAppear:(BOOL)animated{
switch (self.tabBarController.selectedIndex) {
case 0:
self.tabBarController.tintColor = [UIColor colorWithRed:147/255 green:22/255 blue:0/255 alpha:1.0];
break;
case 1:
self.tabBarController.tintColor = [UIColor whiteColor];
break;
case 2:
self.tabBarController.tintColor = [UIColor greenColor];
break;
default:
break;
}
}
答案 0 :(得分:2)
你不需要这样做;相反,将它放在所包含的控制器的viewWillAppear:
方法中:
控制器1:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.tabBarController.tabBar.tintColor = [UIColor blueColor];
}
控制器2:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.tabBarController.tabBar.tintColor = [UIColor yellowColor];
}
这假设是iOS5 +。希望这会有所帮助。
答案 1 :(得分:0)
而不是
self.tabBarController.tintColor
使用:
self.tabBarController.tabBar.tintColor