Изменить цвет текста заголовка определенного сегмента в UISegmentedControl? - PullRequest
0 голосов
/ 05 декабря 2018

Как я могу изменить цвет текста только одного определенного сегмента UISegmentedControl?Я хочу, чтобы все они были нормальными, за исключением определенного сегмента, который должен быть другого цвета, независимо от того, выбран он или нет.

Ответы [ 3 ]

0 голосов
/ 05 декабря 2018

Вы можете реализовать свой собственный сегментированный элемент управления для настройки.

  1. Добавьте две кнопки с тем же интерфейсом, что и у сегментированного элемента управления.
  2. Закруглите углы.
  3. При щелчке сделайте цвет фона в соответствии с вашими потребностями и очистите фон отдругой и сделайте его невыбранным.

Таким образом, имеется большой простор для настройки.Также есть много пользовательских сегментированных элементов управления, доступных на GitHub.Вы можете попробовать это

https://github.com/gmarm/BetterSegmentedControl

0 голосов
/ 05 декабря 2018

Обновлен Swift 4.1

UISegmentedControl.appearance().setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.red], for: .selected)

Swift 3.1

UISegmentedControl.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red as Any], for: .selected)

Для более ранней версии Swift:

UISegmentedControl.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red], for: .selected)
0 голосов
/ 05 декабря 2018

Нет встроенного способа;как вы, наверное, поняли, setTitleTextAttributes относится ко всем сегментам.Вы должны нарисовать свой текст как изображение и использовать его вместо этого.

...