导航栏按钮项色调

5

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

例如:我的深色背景导航栏具有白色作为默认色调,但我有一个橙色图标图像要在其中一个按钮上显示。如果我拖动一个条形按钮并设置图像,则它会显示为白色。我可以更改(或删除)此按钮的色调吗?还是需要忘记可视化编辑器并通过编写代码创建此按钮以控制色调?

4个回答

18
如果您想保留图像的原始颜色,您需要在代码中进行操作:
[button setImage:[[UIImage imageNamed:@"imageName.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];

如果您想覆盖按钮的色调颜色(例如:仅橙色),您可以在故事板中实现。只需在 Xcode 的 属性检查器 中将 Bar Button Itemtint 颜色设置为所需的颜色即可:
Xcode Screenshot


那正是我想的。谢谢! - I'm Joe Too

3
这是lootsch的优秀答案转换为Swift 3 / Swift 4的代码: barButton.image = UIImage(named: "imageName")?.withRenderingMode(.alwaysOriginal)

0
为了保持图像的原始颜色,您需要从代码中将图像分配给按钮,而不是从故事板中分配。
  1. 在类文件(通常是ViewController)中引用您的按钮输出口。
  2. 从代码中将图像分配给按钮:

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


0

您可以默认设置色调颜色。

sample image


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接