单击按钮时,我有一些代码可以播放声音效果。效果很好,所以我尝试在单击按钮时添加背景颜色更改,但是它似乎不起作用(即使它没有显示错误)。我在做什么错了?
我对它们的标为:
var soundEffectWhats: AVAudioPlayer = AVAudioPlayer()
var whatsup: UIButton = UIButton()
IBAction:
@IBAction func whatsup(_ sender: Any) {
soundEffectWhats.play()
whatsup.backgroundColor = UIColor.blue}
答案 0 :(得分:1)
您应该使用
(sender as! UIButton).backgroundColor = UIColor.blue
代替
whatsup.backgroundColor = UIColor.blue
请注意,您会获得正确的参考。
如果要小心,可以使用:
(sender as? UIButton)?.backgroundColor = UIColor.blue
但是请注意,只有在强制转换成功后才会执行backgroundColor。
更新:
正如 Sulthan 在评论中提到的那样,您可以将sender
直接声明为UIButton
:
@IBAction func whatsup(_ sender: UIButton) {
soundEffectWhats.play()
sender.backgroundColor = UIColor.blue
}