如何知道是否按下了UIBarButtonItem?

时间:2015-09-23 21:58:25

标签: ios swift uibarbuttonitem

我已经尝试了很多选项来使用此代码,但我找不到合适的方法。我知道这个方法适用于UIButtons但是使用UIBarButtonItems似乎是不同的。

let validStrings = Set<String>(arrayLiteral:"ab", "bc", "cd")
if validStrings.contains(str) {
    //do something      
}

不起作用的代码行如下

@IBOutlet weak var stopOutlet: UIBarButtonItem!

@IBAction func stop(sender: AnyObject) {

    if stopOutlet.selected {

        player.stop()

    } else {

        player.play()

        do {
            try player = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: audioPath))

        } catch {
            print("Unable to play the file. Please try another song")
        }
    }
}

是否有任何布尔值适用于UIBarButtonItems ???

我刚刚开始学习swift和Xcode,如果问题很蹩脚,那就很抱歉。

1 个答案:

答案 0 :(得分:0)

您需要保持一些外部状态,以跟踪最后一次按下按钮的内容,或者更好地从audioPlayer的状态推断它。此状态还可用于驱动按钮显示的文本(播放/暂停)