iOS 13 внесла некоторые изменения в UISegmentedControl, включая действительно красивую анимацию при переключении выбранного сегмента. Однако я замечаю, что свойство backgroundColor
отображается некорректно, оно всегда имеет некоторый оттенок.
Я видел вопросы, которые отвечают, как установить selectedSegmentTintColor
и тому подобное, но я изо всех сил пытаюсь настроить backgroundColor
, чтобы он говорил .white
, независимо от того, что я делаю, он всегда отображается немного серым, даже если не применяется tintColor
или аналогичный параметр . Установка backgroundColor
на другие цвета показывает такое же поведение, но наиболее очевидно с белым. Загадки усугубляет то, что, хотя эта разница проявляется как на симуляторах iOS 13, так и на физическом устройстве под управлением iOS 13, визуальный отладчик (в XCode 11 GM2) не показывает этой разницы!
Вот несколько снимков экрана, показывающих, что даже несмотря на то, что backgroundColor
в UISegmentedControl
установлено такое же, как backgroundColor
в представлении, показанном за ним, они немного отличаются.
Устройство под управлением iOS 13 (белый backgroundColor)
То же представление / код, что и в Visual Debugger (белый backgroundColor)
Устройство под управлением iOS 13 (синий цвет фона)
Я пробовал применить backgroundImage
, как предложено в этом сообщении SO: UISegmentedControl iOS 13 clear color, но это приводит к тому, что стиль возвращается к тому, как он выглядел в iOS 12, и вы также теряете красивую анимацию.
Любые рекомендации или предложения приветствуются! Я также отправил отчет об ошибке в Apple, посмотрю, получится ли из этого что-нибудь.