Rya*_*yan 6 uicolor uitabbaritem uitabbar ios swift
很简单,我希望能够更改标签栏中未选定项目的颜色.
请参阅下面的"观看最多"对象大麦,可以使用默认颜色.
这是我试图实现的代码:
UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object: UIColor.greenColor(), forKey: NSFontAttributeName), forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)

但是,使用此代码不起作用.有谁知道如何在swift中实现这种效果?
来自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
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我要求 iOS 仅在 UNSELECTED 状态下应用图像的原始颜色(白色、黄色、红色等),并在 SELECTED 状态下保留图像原样。
此外,您可能需要为选项卡栏添加色调,以便为 SELECTED 状态应用不同的颜色(而不是默认的 iOS 蓝色)。根据上面的屏幕截图,您正在为所选状态应用白色:
self.tabBar.tintColor = UIColor.whiteColor()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6007 次 |
| 最近记录: |