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