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


