这是我的标签栏:
下图显示了正在运行的程序和选定的“新闻”项:
很明显,条形色调的颜色工作得很好,正如我想要的!
但tintColor只影响图像而不影响文本。
另外,当选择一个项目时(如上所示,新闻),项目颜色变为蓝色!我该如何防止这种情况发生?我希望它保持白色。
为什么文本在被选中时会变为白色,而在未选中时不会变为白色?
我基本上希望项目颜色和文本颜色始终为白色。
我该如何实现这一目标?谢谢你的帮助。
是否需要为每个单独的项目提供 swift 代码?
EDIT:
来自 UITabBarItem 类文档:
默认情况下,实际未选择和选择的图像是
根据源图像中的 alpha 值自动创建。到
防止系统着色,为图像提供
UIImageRenderingModeAlwaysOriginal。
线索不在于是否使用 UIImageRenderingModeAlwaysOriginal,重要的是何时使用它。
要防止未选择的项目呈现灰色,您只需阻止未选择的图像的系统着色即可。以下是如何执行此操作:
var firstViewController:UIViewController = UIViewController()
// The following statement is what you need
var customTabBarItem:UITabBarItem = UITabBarItem(title: nil, image: UIImage(named: "YOUR_IMAGE_NAME")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal), selectedImage: UIImage(named: "YOUR_IMAGE_NAME"))
firstViewController.tabBarItem = customTabBarItem
正如你所看到的,我要求 iOS 仅在 UNSELECTED 状态下应用图像的原始颜色(白色、黄色、红色等),并在 SELECTED 状态下保留图像原样。
此外,您可能需要为选项卡栏添加色调,以便为 SELECTED 状态应用不同的颜色(而不是默认的 iOS 蓝色)。根据上面的屏幕截图,您正在为所选状态应用白色:
self.tabBar.tintColor = UIColor.whiteColor()
EDIT:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)