我对 swift 和 iOS 平台总体来说还是新手,但我认为我对它有很好的掌握。
我正在尝试制作一个简单的宾果游戏,但遇到了一个小问题。
我需要让用户能够取消选择号码。现在,我有一些按钮,用户可以单击这些按钮来更改该部分的标记(为其提供背景图像)。但是,如果他们再次按下按钮,我想将图像更改为空。
对于我来说,我似乎不知道如何检查(最好使用 IF 语句)按钮是否被第一次按下。我试图使用 IF 语句将图像与如下内容进行比较:
@IBAction func action(_ sender: AnyObject) {
if UIImage(named:"MarkedPiece") == true {
// labels for Numbers will be hidden here
} else {
sender.setImage(UIImage(named: "MarkedPiece"), for: UIControlState())
}
}
以上是所有按钮所指向的功能。我收到错误消息,告诉我无法将 UIImage 类型与 BOOL 进行比较,这是有道理的。我应该有其他方法吗?
如有任何帮助,我们将不胜感激!
最佳答案
您可以设置正常
状态和选中
状态的按钮图像。
btn.setImage(UIImage(named: ""), for: .normal)
btn.setImage(UIImage(named: ""), for: .selected)
并使用.isSelected
@IBAction func action(_ sender: UIButton) {
sender.isSelected = !sender.isSelected
if sender.isSelected {
// labels for Numbers will be hidden here
} else {
}
}
关于ios - 通过 IF 语句在按钮上显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49989392/