这是我的选项卡栏:

在此处输入图像描述

下图显示了正在运行的程序和所选的"新闻"项:

在此处输入图像描述

很明显,条形色调的效果和我想要的一样好!

但是tintColor只影响图像而不影响文本.

此外,当项目被选中时(如上所述,新闻),项目 colored颜色 变为蓝色!我如何防止这种情况发生?我想让它保持白色.

为什么选中时文本会变为白色,而未选中时文本不会变为白色?

我基本上希望项目的 colored颜色 和文字的 colored颜色 是白色的所有时间.

我怎样才能做到这一点呢?谢谢你的帮助.

每件商品都需要快速编码吗?

编辑:

在此处输入图像描述

推荐答案

从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仅将图像的原始 colored颜色 (白色、黄色、红色等)应用于未选中的状态,并将图像保留为选中状态.

此外,您可能需要为选项卡栏添加色调,以便为选定状态应用不同的 colored颜色 (而不是默认的iOS蓝色).根据上面的屏幕截图,您正在为所选状态应用白色:

self.tabBar.tintColor = UIColor.whiteColor()

编辑:

在此处输入图像描述

Ios相关问答推荐

StackView UIKit间距似乎非常小的编程式编程

如何将Safari调试器附加到Turbo-iOS原生应用中的模拟器

如何将模糊输入/模糊输出添加到SwiftUI中的非对称过渡?

如何使用参与者允许并行读取,但阻止对SWIFT中资源的并发读取和写入?

在flatter_riverpod中,如果没有ref对象,我们如何访问提供程序?

无法使用 NavigationView 和 NavigationLink 在 SwiftUI 中弹出当前屏幕

从包含 5 个以上项目的自定义选项卡栏的导航视图中删除更多按钮

Swift UI中如何为Text提供内部填充

无法从 Xcode 获取模拟器列表.请打开 Xcode 并try 直接从那里运行项目以解决剩余问题

卡在 Apple 的 SwiftUI 教程第 5 章(更新应用数据)

swiftUI中的剪辑形状无法使用旋转效果

如何在 Swift 中旋转 UIButton 和 UILabel 的文本?

未找到签名证书​​iOS Distribution

'+entityForName: nil 不是合法的 NSManagedObjectContext 参数 - 核心数据

在滚动视图中使用动态大小的控制器调整容器视图的大小

关闭通过模态 segue 显示的视图

文件是为存档而构建的,它不是被链接的体系 struct (i386)

在 SKScene 中设置按钮

我的应用程序因使用广告支持框架而被拒绝.哪个图书馆负责?

更改标签栏项目图像和文本 colored颜色 iOS