2015-11-01 72 views
1

我有一个开关,当它打开时打印“它的开”,当它关闭时打开它“关闭”。由于我想在未来有更多的开关,我决定我想要一个按钮,作为一般,因此当我按下按钮,开关设置自己,但问题是,它不打印“其上”。按钮和开关

基本上,如果我直接点击开关,它会做它应该做的;如果我通过按钮改变开关的状态,它不会,它只会打开,并且不会打印任何东西。

按钮代码:

@IBAction func Button(sender: UIButton) { 

     self.SSwitch.setOn(true, animated: false) 

} 

拨码开关:

@IBAction func Switch(sender: UISwitch) { 
    if self.SSwitch.on { 
     print("its on") 
    } 
    else { 
     print("its off") 
    } 

回答

1

这是预期的情况。

如果用户触发更改,则控件将向每个目标发送操作消息。如果更改是直接在代码中进行的,则不会发送操作消息。

因此,如果您更改代码中的状态,那么发送(适当的)操作消息是有意义的。