ImageWithRenderingMode AlwaysOriginal不在UITabBar上工作

时间:2016-05-08 21:42:12

标签: ios swift cocoa-touch uitabbar

我只想使用原始图像,而不是使用色调颜色来指示选择标签的时间。这些是我正在使用的图像:

默认值:Default

已选择:Selected

我在Storyboard中添加了图片,在我的代码中设置了TabBarController我有以下内容:

let manageItem = tabBar.items?[1]
manageItem?.image?.imageWithRenderingMode(.AlwaysOriginal)
manageItem?.selectedImage?.imageWithRenderingMode(.AlwaysOriginal)

但每次我建立并运行时,我仍然会在选择时获得蓝色。此外,它似乎正在改变所选图像。这是它的样子:

未选中(第二个标签):

Unselected Screen shot

选择的:

Selected screen shot

为什么不使用原始图像?

1 个答案:

答案 0 :(得分:2)

据我所知,imageWithRenderingMode会返回新图片,所以您应该像这样使用它:

let manageItem = tabBar.items?[1]
manageItem?.image = manageItem?.image?.imageWithRenderingMode(.AlwaysOriginal)
manageItem?.selectedImage = manageItem?.selectedImage?.imageWithRenderingMode(.AlwaysOriginal)