在 UITabBar 中为选定选项卡设置色调颜色
Posted
技术标签:
【中文标题】在 UITabBar 中为选定选项卡设置色调颜色【英文标题】:setting tint color for selected tab in UITabBar 【发布时间】:2013-12-26 10:25:59 【问题描述】:在 Xcode 5 Dev Preview 2 中,我能够执行以下操作:
[[UITabBar appearance] setTintColor:[UIColor whiteColor]];
//选中的图文颜色(白色)
在 Xcode 5 Dev Preview 3 中,同一行代码会引发异常(见下文)。异常表明我可能想要使用'barTintColor
' - 但我没有 - 因为这是整个 UITabBar 的颜色。如何在 UITabBar 中设置所选图像和文本的颜色?
Xcode 5 Dev Preview 3 中的新异常:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-setTintColor: is not allowed for use with the appearance proxy. Perhaps you want to use the barTintColor property.'
谢谢
【问题讨论】:
您在哪个 ios 版本中遇到此异常? 你想试试标签栏中的图片吗... 【参考方案1】:我在最新的 Xcode 5 (5.0.2) 中没有看到这一点,但我知道您想要调用不同的方法来设置所选图像的色调颜色,具体取决于您是在 iOS 6 还是 7 上运行. 这是我的一个应用程序的一些示例代码:
if ([RFSUtilities isIOS7OrHigher])
[[UITabBar appearance] setTintColor:[UIColor whiteColor]];
else
[[UITabBar appearance] setSelectedImageTintColor:[UIColor whiteColor]];
+[RFSUtilities isIOS7OrHigher]
只是使用the proper version check 检查我们是否在 iOS 7 或更高版本上运行:
+ (BOOL)isIOS7OrHigher
float versionNumber = floor(NSFoundationVersionNumber);
return versionNumber > NSFoundationVersionNumber_iOS_6_1;
希望这会有所帮助!
【讨论】:
【参考方案2】:只需在UITabBar
类的用户定义运行时属性中添加带有颜色类型的tintColor
。
仍在为非活动标签寻找类似的方法...有人知道吗?
【讨论】:
以上是关于在 UITabBar 中为选定选项卡设置色调颜色的主要内容,如果未能解决你的问题,请参考以下文章