- (
void
)viewDidLoad {
02.
//实例化一个开关控件
03.
UISwitch *swi1=[[UISwitch alloc]init];
04.
//设置位置和大小,发现大小无效。即开关控件大小不受影响,还是那么
05.
swi1.frame=CGRectMake(
30
,
100
,
300
,
80
);
06.
//设置背景,发现上面设置的框的大小确实无效,因为背景只有控件那么大,并不是设置的那么大,而且控件是圆角
07.
swi1.backgroundColor=[UIColor redColor];
08.
//设置ON一边的背景颜色,默认是绿色
09.
swi1.onTintColor=[UIColor yellowColor];
10.
//设置OFF一边的背景颜色,默认是灰色,发现OFF背景颜色其实也是控件”边框“颜色
11.
swi1.tintColor=[UIColor purpleColor];
12.
//设置滑块颜色
13.
swi1.thumbTintColor=[UIColor greenColor];
14.
swi1.onImage=[UIImage imageNamed:@
"1.png"
];
//无效
15.
swi1.offImage=[UIImage imageNamed:@
"logo.png"
];
//无效
16.
//设置成开启病设置动画形式出现,当然也可以直接用[swi1 setOn:YES];
17.
[swi1 setOn:YES animated:YES];
18.
//开关控件默认是关闭的,setOn可以默认成打开,所以其实它在显示的时候有一个打开的动作,但这个动作不发送消息,即捕捉不到
19.
//如我们做个试验,弄个针对“值变动”所引发的操作,即值发生变动,开启输出“On”,关闭输出“Off”
20.
//发现第一次并没有输出On,我们自己手动从关闭到开启时会有On和Off
21.
//所以这个setOn虽然是一个开启动作,但我们可以认为它相当于是内置了,我们看不到这个动作,所以捕捉不到
22.
//但这里我们练习了获取值变动病利用isOn来做相应的操作
23.
[swi1 addTarget:self action:
@selector
(getValue1:) forControlEvents:UIControlEventValueChanged];
24.
25.
//isOn是一个getter方法,所以不能够赋值,即不能用swi.isOn=YES,只能取得当前结果,一般用于判断是否是开启状态
26.
if
(swi1.isOn) {
27.
NSLog(@
"It is On"
);
28.
}
29.
30.
[self.view addSubview:swi1];
31.
[
super
viewDidLoad];
32.
// Do any additional setup after loading the view, typically from a nib.
33.
}
34.
35.
-(
void
)getValue1:(id)sender{
36.
UISwitch *swi2=(UISwitch *)sender;
37.
if
(swi2.isOn) {
38.
NSLog(@
"On"
);
39.
}
else
{
40.
NSLog(@
"Off"
);
41.
}
42.
}