UITabBarItem 图像颜色在第一次被选中后变为蓝色
UITabBarItem image colour changes to blue after first time it is selected
我在使用 UITabBar 时遇到了这个问题。
我有用于 UITabBarItems 的自定义图像,在我 select 选项卡后显示正确的突出显示颜色,但图像的原始颜色(灰色)不再是灰色。它不是蓝色的。
所以基本上:
- 我 select 一个选项卡,它的高亮颜色(红色)显示。
- 我现在 select 另一个选项卡和我之前 selected 的选项卡不会变回以前的颜色(灰色),而是变成蓝色。
我没有在应用程序的任何地方设置蓝色,所以我认为这是默认颜色。
我已经在界面生成器中为我的 UITabBar 设置了图像,并在应用程序委托中修改了 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
可能哪里做错了?
这是我的标签栏的图片。如您所见,我之前和现在都在设置齿轮页面上 select 编辑了相机、对话气泡和信封。只有一个选项卡我没有 select 编辑,它保持原来的颜色。这是图像的颜色。
非常感谢您的帮助。
你需要告诉系统保持原来的渲染模式,所以当你在标签栏上设置图像时,它不会使用默认颜色。像这样的东西
barImage.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
我在使用 UITabBar 时遇到了这个问题。
我有用于 UITabBarItems 的自定义图像,在我 select 选项卡后显示正确的突出显示颜色,但图像的原始颜色(灰色)不再是灰色。它不是蓝色的。
所以基本上:
- 我 select 一个选项卡,它的高亮颜色(红色)显示。
- 我现在 select 另一个选项卡和我之前 selected 的选项卡不会变回以前的颜色(灰色),而是变成蓝色。
我没有在应用程序的任何地方设置蓝色,所以我认为这是默认颜色。
我已经在界面生成器中为我的 UITabBar 设置了图像,并在应用程序委托中修改了 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
可能哪里做错了?
这是我的标签栏的图片。如您所见,我之前和现在都在设置齿轮页面上 select 编辑了相机、对话气泡和信封。只有一个选项卡我没有 select 编辑,它保持原来的颜色。这是图像的颜色。
非常感谢您的帮助。
你需要告诉系统保持原来的渲染模式,所以当你在标签栏上设置图像时,它不会使用默认颜色。像这样的东西
barImage.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)