如何在Xcode中同时工作一个按钮?

我想制作一个类似Noisli网站的应用程序。例如,当我轻点雨声时,它会播放,但是当我按下雷声时,它会播放并再次点击以关闭声音。但它可以单独工作。

我具有点击按钮的功能

@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")
            }

}
nnn289 回答:如何在Xcode中同时工作一个按钮?

使用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])
     }
 }
本文链接:https://www.f2er.com/3162003.html

大家都在问