是否可以将导航栏按钮项目拖动到导航栏,使用图像并且未应用色调,以便原始图像按预期显示?或者只有通过代码添加导航栏按钮项才有可能?导航栏按钮项目色调
示例:我的黑色背景导航栏的白色为默认色调,但我有一个橙色图像图标,我想为其中一个按钮显示。如果我拖动栏按钮项目&设置图像,它会显示为白色。我可以更改(或删除)该按钮的色调吗?或者,我是否需要忘记可视编辑器并以编程方式创建此按钮以控制色调?
是否可以将导航栏按钮项目拖动到导航栏,使用图像并且未应用色调,以便原始图像按预期显示?或者只有通过代码添加导航栏按钮项才有可能?导航栏按钮项目色调
示例:我的黑色背景导航栏的白色为默认色调,但我有一个橙色图像图标,我想为其中一个按钮显示。如果我拖动栏按钮项目&设置图像,它会显示为白色。我可以更改(或删除)该按钮的色调吗?或者,我是否需要忘记可视编辑器并以编程方式创建此按钮以控制色调?
如果你想保持图像的原始颜色,你必须做的代码:
[button setImage:[[UIImage imageNamed:@"imageName.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
如果要覆盖按钮的色调的颜色(例如:只橙色),你可以在你的故事板内实现。只是Xcode的Attributes Inspector
内tint
颜色您Bar Button Item
的设定所需要的颜色:
为了保持图像的原始颜色,你就必须将图像从代码,而不是从你的故事板分配到按钮。
[self.bbiHome setImage:
- 参考在类文件你的按钮奥特莱斯(通常是一个视图控制器)
将图像从代码分配给按钮[[UIImage的imageNamed:@ “icon.png”] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
这里的lootsch的(优秀)答案转换为斯威夫特3/4斯威夫特:
barButton.image = UIImage(named: "imageName")?.withRenderingMode(.alwaysOriginal)
这就是我的想法。谢谢! –