在情节提要中设置导航栏项目图像不起作用

Posted

技术标签:

【中文标题】在情节提要中设置导航栏项目图像不起作用【英文标题】:Setting navigation bar item image in storyboard does not work 【发布时间】:2016-02-06 16:23:10 【问题描述】:

我正在尝试通过带有自定义图像的故事板设置导航栏项目,但它不起作用。

这是结果:

我使用的图片不是蓝色圆圈,这里是设置和对象结构:

图片大小合适,我尝试了多张图片,结果都一样。

【问题讨论】:

您的 png 文件有 alpha 通道吗?有时,如果不是,图标就会被着色。 出于教育目的,你怎么知道的? 我曾经在一个标签栏项目上使用了一个没有 alpha 的 png,所有出现的都是一个彩色图标,就像你的一样。更改了 alpha 并且它起作用了。色调有点占了上风。 【参考方案1】:

这是因为导航栏将其图像视为模板,并将通过应用标准 Tint Color 来显示它们。

要以原始形式显示图像,您需要使用UIImageRenderingModeAlwaysOriginal 作为图像的渲染模式。

您可以在UIViewControllerviewDidLoad 方法中进行设置

- (void)viewDidLoad 

    UIBarButtonItem* rightButton = self.navigationItem.rightBarButtonItem;
    [rightButton setImage:[[UIImage imageNamed:@"imageName"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

【讨论】:

这是一种使用 xcassets ***.com/a/33254730/884674 的更简洁的方法

以上是关于在情节提要中设置导航栏项目图像不起作用的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 分隔符插入参考在情节提要中不起作用

在Xcode中设置图像高度填充自动布局

tableView didSelect 单元格不起作用

自定义后退按钮图像在导航栏上不起作用

swift animateWithDuration 在 iOS 7 中不起作用

在情节提要中链接时,UILabel 的 lineBreakMode 不起作用