UISegmentedControl为什么将图像的蓝色部分变成黑色?

问题描述

谁能告诉我为什么我的segmentedcontrol会更改为细分设置的图像的颜色?当我逐步通过调试器时,图像包含黑色文本和一个蓝点。但是当它在模拟器中渲染时,该点是黑色而不是蓝色:

enter image description here

这是视图层次结构的屏幕快照,显示了我在带有蓝点的分段控件上设置的图像,在左侧是渲染的视图控制器,其中带黑点的分段控件。

enter image description here

我认为这与色调颜色有关,并且可能与控件处理明暗模式有关。

有趣的是,我将图像设置为从图像资产中获取图像,这很好。但是,这些图像是通过调用UIGraphicsImageRenderer动态生成的。

解决方法

感谢Tom Harrington的输入,问题是我需要将渲染模式应用于我的图像的alwaysOriginal-这就是窍门!

let chatImage = UIImage.textEmbeded(image: scaledDotImage,string: "Chat",isImageBeforeText: false).withRenderingMode(.alwaysOriginal)

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...