加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – swift UITabbaritem颜色

发布时间:2020-12-14 17:14:35 所属栏目:百科 来源:网络整理
导读:你好,我正在试图找出如何使用我想要的tabBar颜色. 我知道如何更改背景,我也知道如何更改tabbar.item颜色和文本.但我无法理解如何: 未选定的标签栏项的默认灰色 如果选择了项目,则更改颜色(我使用的渲染模式始终是原始的,因为我找不到另一种方法来从非选定的
你好,我正在试图找出如何使用我想要的tabBar颜色.

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

>未选定的标签栏项的默认灰色
>如果选择了项目,则更改颜色(我使用的渲染模式始终是原始的,因为我找不到另一种方法来从非选定的标签栏项目中删除默认的灰色.)

override init(nibName nibNameOrNil: String?,bundle nibBundleOrNil: NSBundle?) {

    super.init(nibName: nibNameOrNil,bundle: nibBundleOrNil)

    tabBarItem.title = "test"
    tabBarItem.image = UIImage(named: "first.png")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)   

}

我怎么能在我想要的状态下使用我想要的颜色?

解决方法

UITabBar具有tintColor属性,但这会为所选图像设置色调,而不是未选择的图像.您正确设置未选择的图像AFAIK.要更改所选图像的颜色,可以使用UITabBar上的tintColor(如果希望所有图像具有相同的色调),或者将UITabBarItem的selectedImage设置为AlwaysOriginal.

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读