我正在尝试在取消选中标签时更改标签栏图标的颜色。现在,颜色是默认的灰色,我可以将颜色更改为选择时所需的颜色。
Apple的开发库表示将图像渲染更改为“原始”而不是默认模式“模板”。我做到了然后它说使用initWithTitle:image:selectedImage:
我试图这样做,但我认为这是我搞砸了。我在viewcontroller.m文件中写了这个。这有什么不对?
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImage *stat = [UIImage imageNamed:@"white_stats.png"];
stat = [stat imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
(instancetype)initWithTitle:(NSString *)nil image:(UIImage *)stat selectedImage:(UIImage *)stat;
}
答案 0 :(得分:2)
问题是您在两个地方都使用了UIImage
UIImageRenderingModeAlwaysOriginal
。
您的代码应该类似于
UIImage *stat = [UIImage imageNamed:@"white_stats.png"];
UIImage *statAlwaysOriginal = [stat imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.tabBarItem = [[UITabBarItem alloc] initWithTitle:nil image:statAlwaysOriginal selectedImage:stat];
另一件事是你的帖子中有一些实际的语法错误(在UITabBarItem初始化中,但我怀疑你只是错误地粘贴了它。