选择/取消选择swift xcode 7按钮

部分方法完成了学习swift,但我打了一个小墙又一次,我相信我只是有点新的,一个简单的解决方案,但我无法弄清楚如何选择/取消选择下面的按钮是我到目前为止,它是一个按钮变成一个复选标记点击…我已经得到那么远,但我需要该按钮取消选择再次点击,然后显然能够再次点击,如果需要。

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

Swift 3注意: .selected.checked现在是SDK中的小写UIControlState值,并且已经重命名了一些方法:

 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 } } } 

你不需要在条件下设置选中。 我只是在swift中使用以下方法:

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

这是swift 4的工作代码。

确保您需要将Button IBAction Outlet连接为UIButton并根据您的需要设置故事板中的默认按钮图像。

 @IBAction func btnTapped(_ sender: UIButton) { if sender.currentImage == UIImage(named: "radio_unchecked"){ sender.setImage(UIImage(named: "radio_checked"), for: .normal) }else{ sender.setImage(UIImage(named: "radio_unchecked"), for: .normal) } }