问题描述
谁能告诉我为什么我的segmentedcontrol会更改为细分设置的图像的颜色?当我逐步通过调试器时,图像包含黑色文本和一个蓝点。但是当它在模拟器中渲染时,该点是黑色而不是蓝色:
这是视图层次结构的屏幕快照,显示了我在带有蓝点的分段控件上设置的图像,在左侧是渲染的视图控制器,其中带黑点的分段控件。
我认为这与色调颜色有关,并且可能与控件处理明暗模式有关。
有趣的是,我将图像设置为从图像资产中获取图像,这很好。但是,这些图像是通过调用UIGraphicsImageRenderer动态生成的。
解决方法
感谢Tom Harrington的输入,问题是我需要将渲染模式应用于我的图像的alwaysOriginal-这就是窍门!
let chatImage = UIImage.textEmbeded(image: scaledDotImage,string: "Chat",isImageBeforeText: false).withRenderingMode(.alwaysOriginal)