[英]Navigation Bar Button Item Tint
是否可以将导航栏按钮项拖到导航栏上,使用图像,并且不应用色调以便原始图像按预期显示? 或者这只能通过代码添加导航栏按钮项目来实现?
示例:我的深色背景导航栏的默认色调为白色,但我想为其中一个按钮显示一个橙色图像图标。 如果我拖动一个条形按钮项目并设置图像,它会显示为白色。 我可以更改(或删除)这个按钮的色调吗? 或者,我是否需要忘记可视化编辑器并以编程方式创建此按钮来控制色调?
如果要保留图像的原始颜色,则必须在代码中执行此操作:
[button setImage:[[UIImage imageNamed:@"imageName.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
如果要覆盖按钮的色调(例如:仅橙色),则可以在故事板中实现。 只需将Xcode的Attributes Inspector
中的Bar Button Item
的tint
颜色设置为所需的颜色:
这是lootsch的(优秀)答案转换为Swift 3 / Swift 4:
barButton.image = UIImage(named: "imageName")?.withRenderingMode(.alwaysOriginal)
要保留图像的原始颜色,您必须从代码而不是故事板中将图像分配给按钮。
从代码中将图像分配给按钮:
[self.bbiHome setImage:[[UIImage imageNamed:@“icon.png”] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
您可以默认设置色调颜色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.