Ios 在序列图像板中设置导航栏项目图像无效
我正试图通过带有自定义图像的故事板设置导航栏项,但它不起作用 结果是: 我使用的图像不是蓝色圆圈,以下是设置和对象结构:Ios 在序列图像板中设置导航栏项目图像无效,ios,storyboard,uinavigationbar,Ios,Storyboard,Uinavigationbar,我正试图通过带有自定义图像的故事板设置导航栏项,但它不起作用 结果是: 我使用的图像不是蓝色圆圈,以下是设置和对象结构: 图像大小合适,我尝试了多个图像,结果都是一样的。这是因为导航栏将其图像视为模板,并将通过应用标准着色颜色来显示它们 要以原始形式显示图像,您需要使用UIImageRenderingModeAlwaysOriginal作为图像的渲染模式 您可以在您的UIViewController的viewDidLoad方法中进行设置 - (void)viewDidLoad {
图像大小合适,我尝试了多个图像,结果都是一样的。这是因为导航栏将其图像视为模板,并将通过应用标准着色颜色来显示它们 要以原始形式显示图像,您需要使用
UIImageRenderingModeAlwaysOriginal
作为图像的渲染模式
您可以在您的UIViewController的viewDidLoad
方法中进行设置
- (void)viewDidLoad {
UIBarButtonItem* rightButton = self.navigationItem.rightBarButtonItem;
[rightButton setImage:[[UIImage imageNamed:@"imageName"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
}
您的png文件是否有alpha通道?有时图标会被涂上颜色。出于教育目的,你怎么知道?我曾经在一个选项卡栏项目上使用过一个不带alpha的png,显示的只是一个与你一样的彩色图标。改变了阿尔法,成功了。淡色占了上风。这是使用xcassets实现这一点的一种更干净的方法