IOS UITabBarItem默认的选中图片及字体颜色都为蓝色,如果要改成其他颜色的话目前发现可以用以下方法解决。
const NSArray*normalImages=@[@"firstpage",@"buy",@"found",@"mine"];
const NSArray*selectImages=@[@"firstpage_hightlight",@"buy_highlight",@"found_highlight",@"mine_highlight"];
NSArray*items=self.tabBar.items;
for (int i=0; i<items.count; i++) {
UIImage *imageNormal = [UIImage imageNamed:[normalImages objectAtIndex:i]];
UIImage *imageSelect = [UIImage imageNamed:[selectImages objectAtIndex:i]];
//图片用原图(不渲染)
imageNormal = [imageNormal imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
imageSelect = [imageSelect imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem *item = [items objectAtIndex:i];
//图片
item.image=imageNormal;
item.selectedImage=imageSelect;
//文字颜色
[item setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor lightGrayColor],NSForegroundColorAttributeName,nil] forState:UIControlStateNormal];
[item setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],NSForegroundColorAttributeName,nil] forState:UIControlStateSelected];
}
效果图