2014-04-01 116 views
3

是否可以将导航栏按钮项目拖动到导航栏,使用图像并且未应用色调,以便原始图像按预期显示?或者只有通过代码添加导航栏按钮项才有可能?导航栏按钮项目色调

示例:我的黑色背景导航栏的白色为默认色调,但我有一个橙色图像图标,我想为其中一个按钮显示。如果我拖动栏按钮项目&设置图像,它会显示为白色。我可以更改(或删除)该按钮的色调吗?或者,我是否需要忘记可视编辑器并以编程方式创建此按钮以控制色调?

回答

15

如果你想保持图像的原始颜色,你必须做的代码:

[button setImage:[[UIImage imageNamed:@"imageName.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal]; 

如果要覆盖按钮的色调的颜色(例如:只橙色),你可以在你的故事板内实现。只是Xcode的Attributes Inspectortint颜色您Bar Button Item的设定所需要的颜色:
Xcode Screenshot

+0

这就是我的想法。谢谢! –

0

为了保持图像的原始颜色,你就必须将图像从代码,而不是从你的故事板分配到按钮。

[self.bbiHome setImage:

  1. 参考在类文件你的按钮奥特莱斯(通常是一个视图控制器)
  2. 将图像从代码分配给按钮[[UIImage的imageNamed:@ “icon.png”] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

1

这里的lootsch的(优秀)答案转换为斯威夫特3/4斯威夫特:

barButton.image = UIImage(named: "imageName")?.withRenderingMode(.alwaysOriginal)