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实现这一点的一种更干净的方法