Как изменить цвет по умолчанию для UISwitch (синий) - PullRequest
46 голосов
/ 22 декабря 2011

Как изменить цвет по умолчанию (синий) UISwitch?

Ответы [ 6 ]

61 голосов
/ 23 декабря 2011

Я думаю, что вы ищете что-то вроде этого

UISwitch *testSwitch; //just something I made up
[testSwitch setOnTintColor:[UIColor greenColor]];
49 голосов
/ 15 мая 2014

В Xcode 5 и iOS 7 теперь в инспекторе атрибутов:

enter image description here

Изменение оттенка вкл. Изменит цвет кнопки при ее включении.

enter image description here

Надеюсь, это то, что вы искали!Даже если вы опубликовали этот вопрос три года назад.

20 голосов
/ 09 февраля 2017

Swift 3 Swift 4

работоспособное решение

var switcher = UISwitch()
switcher.onTintColor = .green
switcher.tintColor = .green
8 голосов
/ 23 декабря 2011

До выхода iOS 5 без написания собственного пользовательского элемента управления UISwitch, возможно с использованием UISegmentedControl, Apple не позволяла вам изменить цвет стандартного UISwitch.

Существует частная собственность setAlternateColor: YES, которая изменит цвет на оранжевый, и вам нужно будет создать категорию для класса UISwitch, но это не будет одобрено в обзоре Apple процесс.

Вот несколько пользовательских UISwitch проектов для использования в iOS 3.0 - 4.1:

  1. http://osiris.laya.com/projects/rcswitch/
  2. http://www.alexcurylo.com/blog/2010/07/30/custom-uiswitch/
  3. StackOverflow Anser: https://stackoverflow.com/a/5088099/171206 (с использованием UISegmentedControl)

Представленный в iOS 5, UISwitch теперь имеет свойство onTintColor.

[mySwitch setOnTintColor: [UIColor blackColor]];
7 голосов
/ 21 октября 2015

Свифт 3:

yourSwitch.onTintColor = .red
2 голосов
/ 13 сентября 2012

Наконец, с iOS5 вы можете изменить цвет переключателя с помощью свойства onTintColor.

UISwitch *s = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
s.on = YES;
s.onTintColor = [UIColor redColor];
[self.view addSubview:s];
[s release];

произвести это

enter image description here

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...