按钮和开关

Buttons & Switches

我有一个开关,打开时打印 "its on",关闭时打印 "its off"。因为我想在未来有更多的开关,我决定我想要一个通用的按钮,因此当我按下按钮时,开关会自动打开,但问题是,它不打印 "its on".

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

按钮代码:

    @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")
    }

这是预期的情况。

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

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