改变iPhone应用程序中的开关颜色

时间:2009-11-12 06:52:01

标签: iphone uiswitch

我在iOS 3中使用UISwitch在我的应用中制作一个开关元素。它的默认颜色设置为蓝色,但我想将其颜色更改为棕色(除了一些讨厌的谣言之外,没有通过谷歌获得线索)。

如何为iOS 3中的UISwitch元素选择不同的颜色?

6 个答案:

答案 0 :(得分:42)

最后,使用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

即使很久以前,我希望这有帮助!

答案 1 :(得分:3)

对于Swift 3中所有UISwitch元素的全局更改,请使用外观代理:

UISwitch.appearance().onTintColor = UIColor.brown

在AppDelegate application:didFinishLaunchingWithOptions:方法下。

答案 2 :(得分:2)

目前,您只能使用UISwitch的文本值On / Off或0/1。您可以使用色调自定义颜色。为了进一步定制,我建议使用上面发布的完全自定义解决方案

离。 [mySwitch setOnTintColor:[UIColor colorWithRed:0 green:175.0/255.0 blue:176.0/255.0 alpha:1.0]];

来源:http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5

编辑:对于iOS3,您只能使用自定义实现,我建议使用自定义图像交换两个按钮。在以后的iOS版本中,您可以获得更多控制权和内置自定义选项。

答案 3 :(得分:1)

看看我构建的自定义UISwitch控件,以允许我更改控件的背景颜色。您可以使用相同的方法轻松更改文本,字体或文本颜色。

http://www.homick.com/posts/custom-uiswitch-control

代码在Github上可用,并包含一个PSD,用于构建控件使用的三个不同的png文件。您可以修改psd的内容,以您喜欢的任何格式重新创建png文件。将它们交换到控制中然后离开。

这提供了比橙色和蓝色更多的选项。

答案 4 :(得分:1)

对于Swift 3:

var mySwitch : UISwitch = ...
mySwitch.onTintColor = UIColor.blue

答案 5 :(得分:-8)

基本上在iOS 3中。你不能。但是你知道......由于排名,人们正在这里登陆,而且包含其他版本和内容的评论......

第五个iOS版本现在允许以记录的方式执行此操作:使用属性onTintColor

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

制作本

It's a thing that was requested that looks a color

编辑:我不知道为什么有人会通过并回滚答案,只是在对所有答案不做同样的情况下将其限制在问题中。

修改更多内容 在iOS 3中,您必须使用一些未记录的功能。曾经有一个关于here的链接,但它已经破了。如果您这样做,您的应用可能会因为更改颜色而被拒绝。

它从这开始,这应该足以让你在其他地方找到它:

UISwitch *aSwitch = [[UISwitch alloc] initWithFrame:someRectangle];
[aSwitch setAlternateColors:YES];
//Do something with aSwitch
[aSwitch release];

我不推荐它。事实证明这不受欢迎。