首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速UITabbaritem颜色

快速UITabbaritem颜色
EN

Stack Overflow用户
提问于 2014-11-02 21:54:37
回答 3查看 10.2K关注 0票数 7

我正在努力弄清楚如何为我的tabBar使用我想要的颜色。

我知道如何更改背景,我也知道如何更改tabbar.item颜色和文本,但我不知道如何:

  • 未选择的选项卡栏项的默认灰色颜色。
  • 若要更改该项目的颜色,请执行以下操作(而且我使用的呈现模式总是原始的,因为我找不到另一种方法从非选定的选项卡项中删除默认的灰色颜色) 重写init(nibName nibNameOrNil: String?,bundle nibBundleOrNil: NSBundle?) { super.init(nibName: nibNameOrNil,bundle: nibBundleOrNil) tabBarItem.title = "test“tabBarItem.image =UIImage(命名:nibBundleOrNil})

在我想要的状态下,我如何使用我想要的颜色?

EN

回答 3

Stack Overflow用户

发布于 2014-11-02 23:21:13

UITabBar具有一个tintColor属性,但这将为所选图像设置色调,而不是未选定的图像。您正在正确设置未选定的图像AFAIK。要更改所选图像的颜色,可以在tintColor上使用UITabBar (如果希望所有图像都具有相同的色调),或者使用与AlwaysOriginal一样的呈现模式设置UITabBarItemselectedImage

代码语言:javascript
复制
tabBarItem.selectedImage = UIImage(named: "first-selected")!.imageWithRenderingMode(.AlwaysOriginal)

我已经将UIImage设置为一个未包装的可选选项,因为如果没有图像文件,您可能希望它崩溃。它将有助于确保您的映像实际上正在加载,而不是默默地失败:-)

您也可能希望为标签设置颜色,否则您的文本将与您的图像颜色不匹配。下面设置所有UITabBarItem的默认值,但您可以根据每个项目设置(或重写)它。

代码语言:javascript
复制
UITabBarItem.appearance().setTitleTextAttributes({NSForegroundColorAttributeName: UIColor.blueColor()}, forState:.Selected)
UITabBarItem.appearance().setTitleTextAttributes({NSForegroundColorAttributeName: UIColor.redColor()}, forState:.Normal)
票数 11
EN

Stack Overflow用户

发布于 2017-06-15 09:41:29

下面是您如何在Here 3/ 4中这样做

代码语言:javascript
复制
  UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.blue], for: .selected)
    UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.orange], for: .normal)
票数 5
EN

Stack Overflow用户

发布于 2019-11-03 23:20:30

如果你想:

  • 用于显示彩色图像的选定的tabBarItem
  • 一个未选中的tabBarItem,用于显示灰暗的图像。

然后,您需要确保XCode中的相关图像资产设置为Render as: Default,然后:

代码语言:javascript
复制
let image = SomeImage
tabBarItem.image = image
tabBarItem.selectedImage = image.withRenderingMode(.alwaysOriginal)

这确保了对于selectedImage情况,您将强制图像显示为原始图像,并且在任何其他情况下,它都将使用所应用的预期颜色呈现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26704896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档