UITabBarItem图像颜色在第一次选中后变为蓝色

时间:2015-06-01 23:38:02

标签: ios swift cocoa-touch uitabbarcontroller uitabbar

我遇到了UITabBar这个问题。

我有用于UITabBarItems的自定义图像,在我选择一个标签后,显示正确的高亮颜色,但图像的原始颜色(灰色)不再是灰色。它不是蓝色的。

基本上是这样的:

  1. 我选择一个标签,它突出显示颜色(红色)。
  2. 我现在选择另一个标签,我之前选择的标签不会回到之前的颜色(灰色),而是变成蓝色。
  3. 我没有在应用程序的任何位置设置蓝色,所以我认为它是默认颜色。

    我在界面构建器中为我的UITabBar设置了图像,并修改了app delegate中的barTintColour。

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        let color = UIColor(red: 41.0/255.0, green: 40.0/255.0, blue: 39.0/255.0, alpha: 1.0)
        UITabBar.appearance().barTintColor = color // works
        UITabBar.appearance().tintColor = UIColor.greenColor() //does nothing
    

    可能出错了什么?

    这是我的标签栏的图片。正如您所看到的,我之前和目前在设置齿轮页面上选择了相机,语音气泡和信封。我没有选择一个标签,它仍然是原始颜色。这是图像的颜色。 enter image description here

    非常感谢一些帮助,谢谢。

1 个答案:

答案 0 :(得分:3)

您需要告诉系统保持原始渲染模式,因此它不使用默认颜色,因此当您在标签栏上设置图像时。像这样的事情

    barImage.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)