导航栏按钮项目色调

时间:2014-04-01 15:42:27

标签: ios xcode uibarbuttonitem

是否可以将导航栏按钮项拖动到导航栏,使用图像,并且不应用色调以使原始图像按预期显示?或者这只能通过代码添加导航栏按钮项来实现吗?

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

4 个答案:

答案 0 :(得分:18)

如果要保留图像的原始颜色,则必须在代码中执行:

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

如果您想覆盖按钮的色调(例如:仅限橙色),您可以在故事板中实现。只需将Xcode tintBar Button Item的{​​{1}}颜色设置为所需颜色即可:
Xcode Screenshot

答案 1 :(得分:2)

此处的lootsch(优秀)答案转换为Swift 3 / Swift 4:

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

答案 2 :(得分:0)

要保留图像的原始颜色,您必须从代码而不是故事板中将图像分配给按钮。

  1. 在您的类文件(通常是ViewController)中引用您的Button Outlet
  2. 将图像分配给代码中的按钮:

      

    [self.bbiHome setImage:[[UIImage imageNamed:@“icon.png”]   imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

答案 3 :(得分:0)

您可以将色调颜色设置为默认

https://i.stack.imgur.com/61BWH.png