UISegmentedControl
在 iOS13中有了新的外观,用于改变分段控件颜色的现有代码不再像以前那样起作用。
在 iOS13之前,你可以设置 tintColor
,它将用于分段控件周围的边框、分段之间的线条以及选定分段的背景颜色。然后,您可以使用 titleTextAttributes
的前景颜色属性更改每个片段的标题的颜色。
在 iOS13下,tintColor
什么也做不了。可以设置分段控件的 backgroundColor
以更改分段控件的整体颜色。但是我找不到任何方法来改变所选段的背景颜色。设置文本属性仍然有效。我甚至尝试设置标题的背景颜色,但这只会影响标题的背景,而不会影响所选片段的其余背景颜色。
简而言之,如何在 iOS13中修改当前选择的 UISegmentedControl
片段的背景颜色?有没有一种使用公共 API 而不需要深入挖掘私有子视图结构的适当解决方案?
在 iOS13中,对于 UISegmentedControl
或 UIControl
没有新的属性,而且 UIView
中的任何变化都不相关。