UISwitch的事件响应
我们一般设置UISwitch的响应事件是UIControlEventValueChanged,但是在使用中突然发现,当你触摸开关某一端,不松手然后往下滑动,它的事件响应方法会调用很多次.
而此种操作开关状态并不会发生改变,因此在事件响应的方法中如果没做处理可能会引起一些bug.目前我的处理是如果开关的状态未发生改变就return.不知道有什么更好的方法应对上述操作情况.
static NSInteger swStatus = -1;
- (void)switchClicked:(UISwitch *)sender withEvent:(UIEvent *)event
{
NSLog(@"被调用---%d-----",sender.on);
if (swStatus != sender.on)
{
swStatus = sender.on;
}
else
{
return;
}
NSLog(@"---%d-----",sender.on);
}