在开发中我们有两张图片,在tabBarItem切换时,他没有和我们切的图片颜色一致,而是默认的显示蓝色,解决该类问题方法。
HomeViewController *homeVC = [[HomeViewController alloc] init];
homeVC.title = @"主页";
UINavigationController *homeNaVC = [[UINavigationController alloc] initWithRootViewController:homeVC];
UIImage * homeImage = [UIImage imageNamed:@"shouye"];
homeImage = [homeImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage * homeSelectImge = [UIImage imageNamed:@"shouyeSelect"];
//第一种解决方法:因为系统默认是将我们选中的图片渲染为蓝色的,所以在这里我们可以将选中的图片设置为初始值,使其不被渲染就可以;这种方法需要我们设置每一个tabBarItem的selectedImage属性,比较繁琐;
homeSelectImge = [homeSelectImge imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem * homeItem = [[UITabBarItem alloc]initWithTitle:@"首页" image:homeImage selectedImage:homeSelectImge];
//改变tabBarItem字体的颜色
[homeItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor],NSForegroundColorAttributeName, nil] forState:UIControlStateSelected];
//第二种方法相对比较简单而且方便;在xcode里面找到我们所对应的selectedImage图片,在最右边有个属性我们将其选为Render As设置为Original Image就可以,不需要我们在自己手写代码进行设置;
效果图如下: