我想在UISwitch更改其状态时执行某些操作,因此设置为on或off。我该怎么做呢?我需要传递两个对象作为参数。
它是在代码中创建的,因此不使用xib。
答案 0 :(得分:115)
[yourSwitchObject addTarget:self action:@selector(setState:) forControlEvents:UIControlEventValueChanged];
当您的开关状态发生变化时,这将调用以下方法
- (void)setState:(id)sender
{
BOOL state = [sender isOn];
NSString *rez = state == YES ? @"YES" : @"NO";
NSLog(rez);
}
答案 1 :(得分:3)
显然我们可以用Swift做同样的事情,这里是代码(编译并使用最新版本的 Swift 3.1 )
在切换按钮上添加操作:
mySwitch.addTarget(self, action: #selector(self.switchValueDidChange), for: .valueChanged)
并实施此方法:
func switchValueDidChange(sender:UISwitch!) {
print(sender.isOn)
}
即使您没有使用发件人,也可以删除:
func switchValueDidChange() {
// do your stuff
}
答案 2 :(得分:0)
轻松解决方案(使用swift 4):
@IBAction func toggleSwitch(_ sender: UISwitch) {
if(mySwitch.isOn) {
//Do something
} else {
//Do something
}
}
将上述功能与连接选项卡
下已发送事件中更改的值相关联