按钮开关更改默认颜色

时间:2013-12-06 19:29:46

标签: ios uiswitch

大家好,这是我的第一个问题。

如何更改UISwitch按钮的颜色,当它出现在模拟器中时不应该在On但在Off中我希望看到白色,当活动开关变为绿色时。 对不起我的英语不好。 谢谢。

2 个答案:

答案 0 :(得分:5)

您可以访问UISwitchView的onTintColor和tintColor属性。

@property(nonatomic, retain) UIColor *onTintColor
@property(nonatomic, retain) UIColor *tintColor

初始化开关时,将onTintColor设置为On值所需的颜色,将tintColor设置为Off值。 例如在UIViewController中:

    UISwitch *theSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(0.0, 0.0, 41.0, 30.0)];

    // on color
    theSwitch.onTintColor = [UIColor blueColor];

    //off color
    theSwitch.tintColor = [UIColor redColor];

    [self.view addSubview:theSwitch];

答案 1 :(得分:1)

创建一个用于更改开关值的处理程序(参见下文)。另外,请不要忘记设置初始颜色,具体取决于开关的状态。

- (void)onFlipSwitch:(UISwitch *)aSwitch {
    if(aSwitch.on) {
        aSwitch.backgroundColor = [UIColor greenColor];
    }
    else {
        aSwitch.backgroundColor = [UIColor whiteColor];
    }
}