获取错误 二进制运算符'=='不能应用于类型为 '(UIControl.State) -> UIImage?' 和 'UIImage?' 的操作数


let isMute = self.buttonMute.image == UIImage(named: "mute")
self.buttonMute.image = isMute ? UIImage(named: "volume") : UIImage(named: "mute")
self.baseViewModel.mute(!isMute)
print("button mute")

如果要将按钮当前图像与资产图像进行比较,则使用 currentImage 属性如下。

let isMute = buttonMute.currentImage == UIImage(named: "mute")

如果buttonMute是类型UIButton(这是因为您使用UIControl.state的错误),则必须获得当前图像

self.buttonMute.image(for: .normal)

然后,当您需要为按钮设置新映像时,您必须用图像为参数

调用setImage
let image = isMute ? UIImage(named: "volume") : UIImage(named: "mute")
self.buttonMute.setImage(image, for: .normal)