(iOS 9 及以下)如何在用户交互期间指定选项卡栏项目文本颜色(选中状态和正常状态)
(iOS 9 and below) How do you specify tab bar item text color during user interactions (both selected and normal state)
我想知道是否有办法在实际用户交互期间更改选项卡栏项目标题/文本(不是图像,因为它只需指定 tintColor 就可以正常工作)?就像点击某个按钮时改变它的颜色一样。
当前未选择/不活动的标签栏项目文本没有颜色。有没有办法通过故事板或代码指定它的颜色?
我知道标签栏项目标题/文本颜色可以使用:
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.white], for: .normal)
和
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red], for: .selected)
但这仅适用于尚未呈现选项卡的情况。在创建标签栏控制器后调用上述方法不会执行任何操作。请注意,我的问题是针对 iOS 9 及以下版本,因为在 iOS 10.
中更改选定和未选定的选项卡栏色调颜色非常容易
我明白了。事实证明,单独指定属性比全局指定属性更有效。
tabBar.items?[index].setTitleTextAttributes([NSForegroundColorAttributeName: normalColor], for: .normal)
tabBar.items?[index].setTitleTextAttributes([NSForegroundColorAttributeName: selectedColor], for: .selected)
我想知道是否有办法在实际用户交互期间更改选项卡栏项目标题/文本(不是图像,因为它只需指定 tintColor 就可以正常工作)?就像点击某个按钮时改变它的颜色一样。
当前未选择/不活动的标签栏项目文本没有颜色。有没有办法通过故事板或代码指定它的颜色?
我知道标签栏项目标题/文本颜色可以使用:
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.white], for: .normal)
和
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red], for: .selected)
但这仅适用于尚未呈现选项卡的情况。在创建标签栏控制器后调用上述方法不会执行任何操作。请注意,我的问题是针对 iOS 9 及以下版本,因为在 iOS 10.
中更改选定和未选定的选项卡栏色调颜色非常容易我明白了。事实证明,单独指定属性比全局指定属性更有效。
tabBar.items?[index].setTitleTextAttributes([NSForegroundColorAttributeName: normalColor], for: .normal)
tabBar.items?[index].setTitleTextAttributes([NSForegroundColorAttributeName: selectedColor], for: .selected)