UISegmentedControl
имеет новый внешний вид в iOS 13, и существующий код для изменения цветов сегментированного элемента управления больше не работает, как они.
До iOS 13 вы могли установить tintColor
, который будет использоваться для границы вокруг сегментированного tintColor
управления, линий между сегментами и цвета фона выбранного сегмента. Затем вы можете изменить цвет заголовков каждого сегмента, используя атрибут цвета переднего плана с titleTextAttributes
.
Под iOS 13 tintColor
ничего не делает. Вы можете установить сегментированный элемент управления backgroundColor
для изменения общего цвета сегментированного элемента управления. Но я не могу найти способ изменить цвет, используемый в качестве фона выбранного сегмента. Настройка атрибутов текста все еще работает. Я даже пытался установить цвет фона заголовка, но это влияет только на фон заголовка, а не на остальную часть цвета выбранного сегмента.
Короче говоря, как вы изменяете цвет фона текущего выбранного сегмента UISegmentedControl
в iOS 13? Есть ли правильное решение с использованием общедоступных API, которое не требует углубления в структуру частного подпредставления?
В iOS 13 нет новых свойств для UISegmentedControl
или UIControl
и ни одно из изменений в UIView
имеет значения.