【发布时间】:2020-01-26 02:10:00
【问题描述】:
iOS 13 对 UISegmentedControl 进行了一些更改,包括切换所选片段时非常漂亮的动画。但是我注意到它没有正确显示 backgroundColor 属性,它似乎总是有点色彩。
我已经看到了回答如何设置selectedSegmentTintColor 等的问题,但我很难将backgroundColor 设置为.white,无论我做什么,它总是显示有点灰色即使没有应用 tintColor 或类似设置。将backgroundColor 设置为其他颜色显示相同的行为,但最明显的是白色。更令人费解的是,虽然这种差异在 iOS 13 模拟器和运行 iOS 13 的物理设备上都出现了,但可视化调试器(在 XCode 11 GM2 中)并没有显示出这种差异!
这里有几个屏幕截图显示,即使 UISegmentedControl 的 backgroundColor 设置为与其后面显示的视图的 backgroundColor 相同,它们也略有不同。
Visual Debugger 中显示的相同视图/代码(白色背景颜色)
我已尝试按照此 SO 帖子中的建议应用 backgroundImage 的建议:UISegmentedControl iOS 13 clear color 但最终将样式恢复到它在 iOS 12 中的外观,并且您也失去了漂亮的动画。
非常感谢任何指导或建议!我还向 Apple 提交了错误报告,看看是否有任何结果。
【问题讨论】:
-
您解决了这个问题吗?我也一样
-
不幸的是我没有。发布此问题几天后,我向 Apple 打开了一份错误报告,但遗憾的是到目前为止还没有得到任何回复。
-
在下面查看我的答案,我通过这种方式解决了我的问题
标签: ios swift uisegmentedcontrol ios13