如何知道 UIBarButtonItem 是否被按下?
How to know if UIBarButtonItem is pressed?
我已经尝试了很多选项来让这段代码工作,但我没有找到合适的方法。我知道此方法适用于 UIButtons 但与 UIBarButtonItems 似乎不同。
@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")
}
}
}
不起作用的代码行如下
if stopOutlet.selected
是否有适用于 UIBarButtonItems 的布尔值???
我刚开始学习 swift 和 Xcode 如果问题很蹩脚,我很抱歉。
您需要维护一些外部状态来跟踪最后一次按下按钮的操作,或者更好地从 audioPlayer 的状态推断它。这个状态也可以用来驱动按钮显示的文字(play/pause)
我已经尝试了很多选项来让这段代码工作,但我没有找到合适的方法。我知道此方法适用于 UIButtons 但与 UIBarButtonItems 似乎不同。
@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")
}
}
}
不起作用的代码行如下
if stopOutlet.selected
是否有适用于 UIBarButtonItems 的布尔值???
我刚开始学习 swift 和 Xcode 如果问题很蹩脚,我很抱歉。
您需要维护一些外部状态来跟踪最后一次按下按钮的操作,或者更好地从 audioPlayer 的状态推断它。这个状态也可以用来驱动按钮显示的文字(play/pause)