UISegmentedControl просто не используется в настоящее время? - PullRequest
0 голосов
/ 09 марта 2020

Наше приложение имеет «темную» палитру с преимущественно черным или угольным фоном. Это создает серьезную проблему в элементах управления Apple, которые игнорируют (или даже не предлагают) элемент управления цветом текста и фона.

UISegmentedControl является особенно хорошим примером. Он нарисован с часто неразборчивыми, казалось бы произвольными комбинациями текста и фона. Все эти элементы управления настроены с одинаковыми свойствами в IB, и тем не менее вы никогда не знаете, будут ли они разборчивы от одного контроллера представления к другому.

Большинство из них работает нормально в "темном" режиме в наше приложение, но в «легком» режиме это шамболи c. Я провел день, экспериментируя с темами, UIAppearance и настройкой внешнего вида в IB и программно. Я сыт по горло этим. Кто-нибудь на самом деле знает, как гарантировать разборчивость в этих вещах?

enter image description here

1 Ответ

1 голос
/ 09 марта 2020

Попробуйте,

let seg:UISegmentedControl = {
    let seg = UISegmentedControl()
    seg.insertSegment(withTitle: "tab 1", at: 0, animated: true)
    seg.insertSegment(withTitle: "tab 2", at: 1, animated: true)
    seg.selectedSegmentTintColor = .red   //you can replace the colours you want 
    seg.backgroundColor = .lightGray   //you can replace the colours you want 
    return seg
}()

Результат Темный режим Светлый режим

...