A UISegmentedControl
在iOS 13中具有新外观,并且现有代码更改分段控件的颜色不再像以前那样起作用。
在iOS 13之前,您可以设置tintColor
和,以用于分段控件周围的边框,分段之间的线条以及所选分段的背景颜色。然后,您可以使用带有的前景色属性更改每个句段标题的颜色titleTextAttributes
。
在iOS 13下,tintColor
什么都不做。您可以设置分段控件backgroundColor
以更改分段控件的整体颜色。但是我找不到任何方法来更改用作所选段背景的颜色。设置文本属性仍然有效。我什至尝试设置标题的背景色,但这只会影响标题的背景,而不会影响所选片段的其余背景色。
简而言之,您如何修改UISegmentedControl
iOS 13中当前选定的段的背景颜色?是否有使用公共API的适当解决方案,而无需深入研究私有子视图结构?
在iOS 13中,没有针对UISegmentedControl
或的新属性,UIControl
并且这些更改UIView
均不相关。
是否可以更改UISegmentedControl的转角半径?我尝试过以下方法,用于改变UIView的角半径.
self.segmentedControl.layer.cornerRadius = 15.0;
self.segmentedControl.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为你可以看到它只切断了UISegmentedControl的角落.
谢谢!