我有一个我想修改的UITabBarController。现在,UNselected选项卡图标图像是默认灰色。我知道您无法以编程方式更改这些未选择的图标图像的色调。 Apple说色调是由png文件本身的实际色调控制的。因此,如果你想要一个白色或绿色图标图像,那么你必须使用一个png,将图像显示为白色或绿色等。之后你必须使用UIImageRenderingModeAlwaysOriginal和initWithTitle:image:selectedImage:我在我的FirstViewController.m中使用了这个代码我把它放在 - (void)viewDidLoad中。但是,我得到一个解析问题:期望的标识符及其指向nil之后的括号。有人看到这个代码的问题吗?
//
// FirstViewController.m
// tabmock5
//
// Created by USER on 9/26/13.
// Copyright (c) 2013 USER. All rights reserved.
//
#import "FirstViewController.h"
@interface FirstViewController ()
@end
@implementation FirstViewController
- (void)viewDidLoad
{
[[UIImage imageNamed:@"white_stats.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[self.tabBarItem initWithTitle:[nil]image:[UIImage imageNamed:@"white_stats.png"]selectedImage:[UIImage imageNamed:@"white_stats.png"]];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
答案 0 :(得分:3)
[[UIImage imageNamed:@"white_stats.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
这不是将图像保存在任何地方。将其更改为:
UIImage *myImage = [[UIImage imageNamed:@"white_stats.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
而且:
[self.tabBarItem initWithTitle:[nil]image:[UIImage imageNamed:@"white_stats.png"]selectedImage:[UIImage imageNamed:@"white_stats.png"]];
nil
不是对象(它不在方括号中)。将其更改为:
[self.tabBarItem initWithTitle:nil image:myImage selectedImage:[UIImage imageNamed:@"white_stats.png"]];
或者,您可以在一行中从技术上完成此操作:
[self.tabBarItem initWithTitle:nil image:[[UIImage imageNamed:@"white_stats.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] selectedImage:[UIImage imageNamed:@"white_stats.png"]];
但是如果你以后需要再回来它很难读,所以不要这样做。