UISwitch *swi = [[UISwitch alloc] initWithFrame:(CGRectMake(50, 50, 100, 40))];
// 按钮圆圈的颜色
// [swi setThumbTintColor:[UIColor redColor]];
swi.thumbTintColor = [UIColor redColor];
// off时边框颜色
swi.tintColor = [UIColor redColor];
// on状态下,框内颜色(除圆圈按钮)
swi.onTintColor = [UIColor greenColor];
// setON表示按钮刚开始所处的状态NO->OFF,YES->ON
// animated
[swi setOn:NO animated:YES];
[self.view addSubview:swi];
UIStepter:
continuous 属性 BOOL类型,默认YES,YES时表示当用户交互时会立刻发送ValueChange事件,NO则是只有等用户交互结束时才发送ValueChange事件
autorepeat 属性 BOOL类型,默认YES,YES时表示按住加号或减号不松手,数字会持续变化.
wraps 属性 BOOL类型,默认NO,YES时当value加的超过maximumValue,value将变成minimumValue的值,当减的比minimumValue还小,则value变成maximum的值。如果设成NO,这value不会超过最大和最小值
minimumValue 属性 Double型 默认为0,最小值,当设置值大于或等于maximumValue时会报一个NSInvalidArgumentException异常
maximumValue 属性 Double型 默认为100,是Stepper的最大值,当设置小于或等于minimumValue时会报一个NSInvalidArgumentException异常
stepValue 属性 Double型 默认为1,Stepper的增量或者步数(例如stepValue 是10,则点一下加就加10,减也是减10),必须大于0,否则会报一个NSInvalidArgumentException异常
访问 Stepper的值
value 属性 Double型 默认是0,上限是maximumValue 下限是minimumValue,当数值改变时,会发送UIControlValueEventChanged给目标
定制化外观
tintColor 属性 UIColor型,默认是nil.
UIControlState 有六个枚举变量
enum {
UIControlStateNormal = 0, 正常情况
UIControlStateHighlighted = 1 << 0, 在作用域内点击但是没有松手
UIControlStateDisabled = 1 << 1, 禁止使用时
UIControlStateSelected = 1 << 2, 点击且松手一般是按钮按下且凹陷的状态
UIControlStateApplication = 0x00FF0000,额外的状态当应用程序使用时
UIControlStateReserved = 0xFF000000 内部框架使用
};
UIStepper *stepper = [[UIStepper alloc] initWithFrame:(CGRectMake(50, 200, 100, 40))];
// 加减按钮边框颜色
stepper.tintColor = [UIColor redColor];
// stepper.continuous = YES;
stepper.minimumValue = 1;
stepper.maximumValue = 100;
// 增量或步数
stepper.stepValue = 10;
// 当到达上限或下限时,且wraps没有设置成YES,则相应的加或减的按钮会disable
stepper.wraps = YES;
[stepper addTarget:self action:@selector(stepperAction:) forControlEvents:UIControlEventValueChanged];
// 减号边框的图片
[stepper setDecrementImage:[UIImage imageNamed:@"picture1.png"] forState:UIControlStateHighlighted];
// 加号边框的图片
[stepper setIncrementImage:[UIImage imageNamed:@"picture2.png"] forState:UIControlStateHighlighted];
[self.view addSubview:stepper];
- (void)stepperAction:(UIStepper *)stepper {
NSLog(@"%f",stepper.value);
// 加减按钮颜色
[stepper setBackgroundColor:[UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1.0]];
}