如何在Xcode中同时操作按钮



我想制作一个类似Noisli网站的应用程序。例如,当我敲击rain时,它会播放,但当我按下雷声时,它将再次播放并关闭声音。但它是分开工作的。

我有一个点击按钮的功能

@IBAction func buttonTapped(_ sender: UIButton) {
let tag = sender.tag
PlaySound(filename: sounds[tag])
}
func PlaySound(filename:String){
let url = Bundle.main.url(forResource: filename, withExtension: "mp3")
guard url != nil else{ //url not empty
return
}
do{
audioPlayer = try AVAudioPlayer(contentsOf: url!)
audioPlayer?.play()
}
catch{
print("error")
}
}

使用UIControl.State:

@IBAction func buttonTapped(_ sender: UIButton) {
sender.isSelected = !sender.isSelected
let tag = sender.tag
if sender.isSelected {
PlaySound(filename: sounds[tag])
} else {
StopSound(filename: sounds[tag])
}
}

最新更新