禁用自定义UIBarButton图像上的色调

8
我在我的导航控制器中有一些自定义的工具栏按钮。

enter image description here

(将图像最大化以更好地查看边框)

上面的截图是它应该看起来的样子,以及我如何添加barbutton项图像。 正如您所见,图标顶部有一些较暗的渐变。

但由于所有图标都被着色,这个暗渐变也被着色成白色,我的图标看起来非常模糊。

我只是把它们放进了我的故事板中。

enter image description here

有没有一种方法可以禁用此barbuttonitems的色调?

2个回答

33
在iOS 7中,导航栏的tintColor属性会影响返回指示器图像、按钮标题和按钮图像的颜色。而barTintColor属性则会影响导航栏本身的颜色。因此,你可以尝试设置barTintColor属性来解决你的问题。
另外,在使用barButtonItem图像时,可以尝试以下代码:
myImage = [myImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

我希望这个工具栏有白色的色调,因为返回按钮标题和标题本身应该是白色的。 - choise
问题在于,禁用的按钮看起来像启用的按钮... - Borzh
谢谢您的想法,我也遇到了同样的问题。TintColor 影响了 UIBarButton 的颜色,所以我在 Assets 的 Attribute Inspector 中将 "Render As" 属性更改为 "Original"。 - Zaid Mirza

17

补充 Anindya 的答案:

在 Xcode 9.2 中,

您可以在资源的属性检查器中将 "Render As" 属性更改为 "Original"。如果您在 UIBarButtonItem 中使用该图像,则这将防止 NavigationBar.TintColor 对其产生影响。


如果您正在使用资源目录,这将有效 - 太棒了! - spnkr
我希望它能在Xcode 10中运行。在Xcode 10的属性检查器中没有“渲染为”选项。 - Logicsaurus Rex

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