//绑定到UISwich的value changed事件
- (IBAction)valueChanged:(id)sender
{
NSLog(@"value changed");
}
//绑定到UIButton的touch up inside事件
- (IBAction)changeValue:(id)sender
{
[self.mySwitch setOn:!self.mySwitch.on animated:YES];
}
测试了一下,发现直接操作UISwich的话,会有log出来。但是如果点击button的话,是没有log的。感觉很奇怪,就查了下文档,发现了下面的话:
UIControlEventValueChanged
A touch dragging or otherwise manipulating a control, causing it to emit a series of different values.
看这个意思,就是说,如果我调用代码来改变UISwitch的值,因为没有“touch”,所以不会触发这个事件。