写一个继承自UITabBarController的类。添加如下代码:
<span style="font-size:18px;">- (void)viewDidLoad {
[super viewDidLoad];
self.tabBar.tintColor = [UIColor CMColor];//设置选中颜色
self.view.backgroundColor = [UIColor whiteColor];//防止push的时候右上角出现黑影
self.navigationController.view.backgroundColor = [UIColor whiteColor];</span><span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif;">//防止push的时候右上角出现黑影</span><span style="font-size:18px;">
[self setSelectedIndex:0];//设置当前选中item
// Do any additional setup after loading the view.
}</span>
这样颜色设置好了。我用的是storyboard添加controller,选中状态的图片可以写到相应的controller的viewdidload里。
storyboard设置如下:
设置完这些运行,发现选中状态的图片不显示,于是在viewcontrollers的各个controller的viewdidiload方法中添加代码:
self.tabBarController.tabBar.selectedItem.selectedImage = [UIImage imageNamed:@"home_selected"];
这样就能正常显示选中状态的item了,颜色也是自己之前设置的颜色了。
如果用上述代码控制了选中图片,那么在storyboard中就不要设置selected image这项了,否则控制台会输出报错信息。应该会有正确的只在storyboard中设置的方法,请知道的告知一下啊~