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

时间:2011-12-22 11:56:13

标签: ios iphone ios5 ios4

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

7 个答案:

答案 0 :(得分:61)

我认为你要找的是这样的

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

答案 1 :(得分:47)

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

enter image description here

更改“开启”色调将在打开时更改按钮的颜色。

enter image description here

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

答案 2 :(得分:18)

Swift 3 Swift 4

可行的解决方案

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

答案 3 :(得分:8)

在iOS 5之前,没有编写自己的自定义UISwitch控件,可能使用UISegmentedControl,Apple不允许您更改标准UISwitch的颜色。

有一个私有财产 setAlternateColor: YES 会将颜色更改为橙​​色,您需要为UISwitch类创建一个类别,但这不是在Apple审核流程中获得批准。

以下是一些用于iOS 3.0 - 4.1的自定义UISwitch项目:

  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
  4. 在iOS 5中引入,UISwitch现在具有onTintColor属性。

    [mySwitch setOnTintColor: [UIColor blackColor]];
    

答案 4 :(得分:7)

斯威夫特3:

yourSwitch.onTintColor = .red

答案 5 :(得分:2)

最后,使用iOS5,您可以使用属性onTintColor更改开关的颜色。

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

制作本

enter image description here

我希望这有帮助!

答案 6 :(得分:1)

设置特定UISwitch的颜色:

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

设置应用的颜色:

let switchApperence = UISwitch.appearance()
switchApperence.tintColor = .red
switchApperence.onTintColor = .red