My app has:
[[UIView appearance] setTintColor:[UIColor whiteColor]];
And here is what I have when on
:
and off
Will you please try adding this line to your AppDelegate's didFinishLaunchingWithOptions
[[UISwitch appearance] setTintColor:[UIColor grayColor]];
This should apply the chosen Tint color on all your UISwitch controls.
Rather than using the appearance proxies you can also use:
[self.mySwitch setThumbTintColor:[UIColor blueColor]];
[self.mySwitch setOnTintColor:[UIColor redColor]];
ie. Use setOnTintColor
for the background/border color.
Your [[UIView appearance] setTintColor:[UIColor whiteColor]];
is interfering with the tint color of your switch. The command to set the tint color is self.mySwitch.tintColor = [UIColor grayColor];
which sets the color used to tint the outline of the switch when it is turned off.