2015-11-24 49 views
4

部分方式完成學習迅速,但我打了一個小牆,然後再次,我敢肯定,我只是有點新,在這個和一個簡單的解決方案,但我有解決如何選擇/取消選擇下面的按鈕是我到目前爲止,它是一個按鈕變成一個複選標記,當點擊...我已經得到那麼多,但我需要該按鈕來取消選擇當再次點擊,然後顯然如果需要的話可以再次點擊。選擇/取消選擇按鈕swift xcode 7

@IBAction func buttonPressed(sender: AnyObject) { 
    sender.setImage(UIImage(named: "Checkmark.png"), forState: .Normal) 
} 

回答

4

斯威夫特3注:.selected.checked現在小寫UIControlState值在SDK中,有些方法已經改名:

let button = UIButton() 
button.setImage(UIImage(named: "Unchecked"), for: .normal) 
button.setImage(UIImage(named: "Checked"), for: .selected) 

現在還可以使用在Xcode 8圖片文字代替UIImage(named:)

#imageLiteral(resourceName: "Unchecked") 

夫特2:

爲什麼不使用按鈕的.Selected狀態作爲「檢查」狀態,並且.Normal狀態爲「未檢查」狀態。

let button = UIButton() 
button.setImage(UIImage(named: "Unchecked"), forState: .Normal) 
button.setImage(UIImage(named: "Checked"), forState: .Selected) 

// ... 

@IBAction func buttonPressed(sender: AnyObject) { 

    if let button = sender as? UIButton { 
     if button.selected { 
      // set deselected 
      button.selected = false 
     } else { 
      // set selected 
      button.selected = true 
     } 
    } 
} 
+0

你是什麼意思的設置選擇和設置取消選擇? – yrpalnoob

+0

UIButton可以有多個「狀態」與不同的圖像。您可以爲選定狀態和正常狀態設置圖像,並選擇何時希望按鈕通過更改其狀態來顯示每個圖像。 – JAL

+0

那又如何?這非常有幫助,謝謝。 – yrpalnoob

2

你不需要設置條件選擇。我只是用下面的方法在迅速做:

func selectDeselect(sender: UIButton){ 

     sender.selected = !sender.selected 

     if(sender.selected == true) 
     { 
     sender.setImage(UIImage(named:"select_heart"), forState: UIControlState.Normal) 

     } 
     else 
     { 
     sender.setImage(UIImage(named:"heart"), forState: UIControlState.Normal) 
     } 

    } 
+0

非常感謝bro對我來說 –

+0

它確實選擇了多個按鈕請幫助我 –