如何更改UISwitch的默认颜色(蓝色)?
答案 0 :(得分:61)
我认为你要找的是这样的
UISwitch *testSwitch; //just something I made up
[testSwitch setOnTintColor:[UIColor greenColor]];
答案 1 :(得分:47)
在Xcode 5和iOS 7中,它现在位于属性检查器中:
更改“开启”色调将在打开时更改按钮的颜色。
我希望那就是你要找的!即使你在三年前发布了这个问题。
答案 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
项目:
UISegmentedControl
)在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];
制作本
我希望这有帮助!
答案 6 :(得分:1)
设置特定UISwitch的颜色:
var switcher = UISwitch()
switcher.onTintColor = .red
switcher.tintColor = .red
设置应用的颜色:
let switchApperence = UISwitch.appearance()
switchApperence.tintColor = .red
switchApperence.onTintColor = .red