(iOS 9 及以下)如何在用户交互期间指定标签栏项目文本颜色(选中状态和正常状态)
Posted
技术标签:
【中文标题】(iOS 9 及以下)如何在用户交互期间指定标签栏项目文本颜色(选中状态和正常状态)【英文标题】:(iOS 9 and below) How do you specify tab bar item text color during user interactions (both selected and normal state) 【发布时间】:2017-04-28 13:58:13 【问题描述】:我需要知道在实际用户交互期间是否有办法更改标签栏项目标题/文本(不是图像,因为它只需指定 tintColor 就可以正常工作)?就像点击某个按钮时改变它的颜色一样。
当前未选中/非活动的标签栏项目文本没有颜色。有没有办法通过故事板或代码来指定它的颜色?
我知道标签栏项目标题/文本颜色可以使用:
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.white], for: .normal)
和
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red], for: .selected)
但这仅适用于选项卡尚未呈现的情况。在创建标签栏控制器后调用上述方法不会做任何事情。请注意,我的问题是针对 ios 9 及更低版本的,因为在 iOS 10 中更改已选择和未选择的标签栏颜色非常容易。
【问题讨论】:
【参考方案1】:我明白了。事实证明,单独指定属性而不是全局指定属性。
tabBar.items?[index].setTitleTextAttributes([NSForegroundColorAttributeName: normalColor], for: .normal)
tabBar.items?[index].setTitleTextAttributes([NSForegroundColorAttributeName: selectedColor], for: .selected)
【讨论】:
以上是关于(iOS 9 及以下)如何在用户交互期间指定标签栏项目文本颜色(选中状态和正常状态)的主要内容,如果未能解决你的问题,请参考以下文章