我有一个 UISegmentedControl。 在iOS13之前它工作正常(我将backgroundColor和tintColor都设置为clear)。 但现在,我没有得到同样的结果。 我的 SegmentedControl 有一个浅灰色层。 我做了一些研究,但没有任何作用。 (我有同样的问题:https://forums.developer.apple.com/thread/123955)
之前的状态:
当前状态 - iOS13:
最佳答案
为了满足设计要求,我也面临这个问题。在我的例子中,SegmentedControl 背景颜色应该是白色或透明颜色,因为 View 的背景颜色也是白色。
所以我只是在 SegmentControl 背景中添加一个白色的 UImage,这个技巧对我有用。
if (@available(iOS 13.0, *)) {
[segmentController setBackgroundImage:[UIImage imageNamed:@"someWhiteImage"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
}
虽然这不是一个完美的解决方案,但使用这个技巧可以满足我的要求。您现在还可以在背景中添加纯色背景图像。希望有人告诉我们正确的处理方法。
iOS 13 之前的必需设计
iOS 13之后
所以添加白色背景图像对我有用
关于ios - iOS13 上 UIControlSegment 背景色不再透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59212747/