ios - 通过 IF 语句在按钮上显示图像

标签 ios swift xcode uibutton

我对 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/

相关文章:

swift - tvOS 检查当前聚焦的 ui 元素是否是 CollectionViewCell

iphone - 跟踪选定的单元格

ios - NSURLSession "completion handler"内的导航不起作用

ios - 使用 Swift 和 Xcode 6 子类化 UIGestureRecognizer - 如何导入 UIGestureRecognizerSubclass.h?

ios - 何时释放 transient NSString StringWithFormat?

iphone - 关闭特定对象的控制台日志记录

ios - 通过 Xcode 中 Swift 中的函数运行多个通知?

ios - 如何使用 UIWebView 或 WKWebView 在后台连续播放音乐

objective-c - hidesBarsOnSwipe 向上滚动时不再显示导航栏

swift - 轮询 url 直到响应为某个值