web-dev-qa-db-fra.com

Comment changer la couleur par défaut d'UISwitch (bleu)

Comment changer la couleur par défaut (bleu) d'un UISwitch?

47
Prasad

Je pense que ce que vous cherchez est quelque chose comme ça

UISwitch *testSwitch; //just something I made up
[testSwitch setOnTintColor:[UIColor greenColor]];
62
NicholasTGD

Dans Xcode 5 et iOS 7, il est maintenant dans l'inspecteur d'attributs:

enter image description here

La modification de la teinte activée modifie la couleur du bouton lorsqu'il est activé.

enter image description here

J'espère que c'est ce que vous cherchiez! Même si vous avez posé cette question il y a trois ans.

49
jeddai

SwiftSwift 4

solution réalisable

var switcher = UISwitch()
switcher.onTintColor = .green
switcher.tintColor = .green
20
Vyacheslav

Avant iOS 5, sans écrire votre propre contrôle UISwitch personnalisé, peut-être en utilisant un UISegmentedControl, Apple ne vous permettait pas de changer la couleur d'un standard UISwitch.

Il existe une propriété privée setAlternateColor: YES qui changera la couleur en orange, et vous devrez créer une catégorie pour la classe UISwitch, mais cela ne sera pas approuvé dans le Apple processus d'examen.

Voici quelques projets UISwitch personnalisés à utiliser dans 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 (en utilisant UISegmentedControl)

Introduit dans iOS 5, le UISwitch possède désormais une propriété onTintColor.

[mySwitch setOnTintColor: [UIColor blackColor]];
8
WrightsCS

Swift 3:

yourSwitch.onTintColor = .red
7
Tai Le

Enfin, avec iOS5, vous pouvez changer la couleur du commutateur avec la propriété onTintColor.

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

produire ceci

enter image description here

J'espère que cette aide!

2
Fry

Définissez la couleur de teinte pour un commutateur UIS spécifique:

var switcher = UISwitch()
switcher.onTintColor = .red
switcher.tintColor = .red

Définissez la couleur de teinte de votre application:

let switchApperence = UISwitch.appearance()
switchApperence.tintColor = .red
switchApperence.onTintColor = .red
0
Yongqiang Zhou