我在iOS 3中使用UISwitch
在我的应用中制作一个开关元素。它的默认颜色设置为蓝色,但我想将其颜色更改为棕色(除了一些讨厌的谣言之外,没有通过谷歌获得线索)。
如何为iOS 3中的UISwitch
元素选择不同的颜色?
答案 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];
制作本
即使很久以前,我希望这有帮助!
答案 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];
制作本
编辑:我不知道为什么有人会通过并回滚答案,只是在对所有答案不做同样的情况下将其限制在问题中。
修改更多内容 在iOS 3中,您必须使用一些未记录的功能。曾经有一个关于here的链接,但它已经破了。如果您这样做,您的应用可能会因为更改颜色而被拒绝。
它从这开始,这应该足以让你在其他地方找到它:
UISwitch *aSwitch = [[UISwitch alloc] initWithFrame:someRectangle];
[aSwitch setAlternateColors:YES];
//Do something with aSwitch
[aSwitch release];
我不推荐它。事实证明这不受欢迎。