Изменение onTintColor UIswitch на iOS7?

По умолчанию onTintColor зеленый, как я вижу на iOS7, но я бы хотел, чтобы он был другого цвета.

[myUISwitch setOnTintColor:[UIColor customColor]];

не работает. on/offImages не влияют на iOS7, как сказано в документации. Почему он может не работать? Как я могу изменить его onTintColor?


person Mert Buran    schedule 25.11.2013    source источник
comment
Настройка onTintColor работает для меня. Вы уверены, что myUISwitch не nil, когда вы звоните?   -  person rmaddy    schedule 25.11.2013


Ответы (1)


UISwitch *switch = [UISwitch alloc] init];
[switch setOnTintColor:[UIColor customColor]];
[myView addSubview:switch];

не работает. Но

UISwitch *switch = [UISwitch alloc] init];
[myView addSubview:switch];
[switch setOnTintColor:[UIColor customColor]];

работает. Цвет оттенка не меняется, если он не виден. Некому объяснить?

person Mert Buran    schedule 25.11.2013
comment
После того, как вы вызовете alloc и init, иерархия представлений коммутатора не будет полностью инициализирована, пока вы не покажете ее и не вызовете viewDidLoad:. - person Jack; 25.11.2013
comment
Ух, это так раздражает. Мне действительно интересно, что иногда происходит в Apple. - person GoldenJoe; 09.01.2015
comment
Также есть свойство thumbTintColor, если вы хотите это изменить. - person Tony; 10.01.2015
comment
Для Swift это все еще верно. Установка его в awakeFromNib для ячейки не имеет никакого эффекта; вы должны установить его в layoutSubviews или где-то еще, что он вызвал после добавления переключателя - person Jason; 27.01.2020