2014-02-22 3 views
10

Мое приложение было сделано:Как установить цвет границы UISwitch?

[[UIView appearance] setTintColor:[UIColor whiteColor]]; 

А вот то, что я когда on:

enter image description here

и off:

enter image description here

мне нужно сделать UISwitch границу видимый, как в Settings.app:

enter image description here

+0

Для тех, кто пытается получить этот взгляд, я повторю суть моего комментария в соответствии с принятым ответом: вместо белого, установите цвет оттенка на светло-серый или «не совсем белый» (пользовательский цвет, который примерно соответствует 80% белый). Затем эта граница будет показана на белом фоне. – ToolmakerSteve

ответ

21

Ваш [[UIView appearance] setTintColor:[UIColor whiteColor]]; конфликтует с оттенком цвета коммутаторе. Команда установить цвет оттенка: self.mySwitch.tintColor = [UIColor grayColor];, который устанавливает цвет, используемый для тонирования контура переключателя при его выключении.

+0

Не знаю почему, но это не помогло ... – k06a

+0

Если вы удалите [[UIView appearance] setTintColor: [UIColor whiteColor]]; то он будет работать. Я проверил тест и не установил tintColor UIView, вы получите границу UISwitch для любого цвета, который вам нужен. – sangony

+0

Да, это работает, но мне нужно установить цвет оттенка на белый. Я хочу этот шаг 'self.mySwitch.tintColor = [UIColor grayColor];' для решения моей проблемы, но это не так ... – k06a

4

Вы, пожалуйста, попробуйте добавить следующую строку в ваш AppDelegate-х didFinishLaunchingWithOptions

[[UISwitch appearance] setTintColor:[UIColor grayColor]]; 

Это следует применять выбранный оттенок цвета на всех элементов управления UISwitch.

1

Вместо того чтобы использовать внешний вид прокси вы также можете использовать:

[self.mySwitch setThumbTintColor:[UIColor blueColor]]; 
[self.mySwitch setOnTintColor:[UIColor redColor]]; 

т.е.. Используйте setOnTintColor для цвета фона/границы.

Смежные вопросы