如何更改UISwitch默认颜色(蓝色)

Pra*_*sad 48 iphone ios4 ios ios5

如何更改UISwitch的默认颜色(蓝色)?

Nic*_*TGD 64

我认为你要找的是这样的

UISwitch *testSwitch; //just something I made up
[testSwitch setOnTintColor:[UIColor greenColor]];
Run Code Online (Sandbox Code Playgroud)


jed*_*dai 49

在Xcode 5和iOS 7中,它现在位于属性检查器中:

在此输入图像描述

更改"开启"色调将在打开时更改按钮的颜色.

在此输入图像描述

我希望这就是你要找的!即使你像三年前那样发布了这个问题.


Vya*_*lav 20

Swift 3 Swift 4

可行的解决方案

var switcher = UISwitch()
switcher.onTintColor = .green
switcher.tintColor = .green
Run Code Online (Sandbox Code Playgroud)


Wri*_*sCS 8

在iOS 5之前,没有编写自己的自定义控件UISwitch,也许使用a 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]];
Run Code Online (Sandbox Code Playgroud)


Tai*_* Le 7

斯威夫特3:

yourSwitch.onTintColor = .red
Run Code Online (Sandbox Code Playgroud)