2015-11-01 71 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

這是預期的情況。

如果用戶觸發更改,則控件將向每個目標發送操作消息。如果更改是直接在代碼中進行的,則不會發送操作消息。

因此,如果您更改代碼中的狀態,那麼發送(適當的)操作消息是有意義的。