我正在努力弄清楚如何为我的tabBar使用我想要的颜色。
我知道如何更改背景,我也知道如何更改tabbar.item颜色和文本,但我不知道如何:
在我想要的状态下,我如何使用我想要的颜色?
发布于 2014-11-02 23:21:13
UITabBar具有一个tintColor属性,但这将为所选图像设置色调,而不是未选定的图像。您正在正确设置未选定的图像AFAIK。要更改所选图像的颜色,可以在tintColor上使用UITabBar (如果希望所有图像都具有相同的色调),或者使用与AlwaysOriginal一样的呈现模式设置UITabBarItem的selectedImage。
tabBarItem.selectedImage = UIImage(named: "first-selected")!.imageWithRenderingMode(.AlwaysOriginal)我已经将UIImage设置为一个未包装的可选选项,因为如果没有图像文件,您可能希望它崩溃。它将有助于确保您的映像实际上正在加载,而不是默默地失败:-)
您也可能希望为标签设置颜色,否则您的文本将与您的图像颜色不匹配。下面设置所有UITabBarItem的默认值,但您可以根据每个项目设置(或重写)它。
UITabBarItem.appearance().setTitleTextAttributes({NSForegroundColorAttributeName: UIColor.blueColor()}, forState:.Selected)
UITabBarItem.appearance().setTitleTextAttributes({NSForegroundColorAttributeName: UIColor.redColor()}, forState:.Normal)发布于 2017-06-15 09:41:29
下面是您如何在Here 3/ 4中这样做
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.blue], for: .selected)
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.orange], for: .normal)发布于 2019-11-03 23:20:30
如果你想:
tabBarItemtabBarItem,用于显示灰暗的图像。然后,您需要确保XCode中的相关图像资产设置为Render as: Default,然后:
let image = SomeImage
tabBarItem.image = image
tabBarItem.selectedImage = image.withRenderingMode(.alwaysOriginal)这确保了对于selectedImage情况,您将强制图像显示为原始图像,并且在任何其他情况下,它都将使用所应用的预期颜色呈现。
https://stackoverflow.com/questions/26704896
复制相似问题