[英]Toggling iOS Bar Button identifier (Play/Pause) in Swift
我知道过去也曾问过类似的问题。 但是,我似乎无法执行一个简单的动作,即将左栏按钮从“播放”切换为“暂停”。
这是我的代码:
@IBAction func toggleButton(sender: AnyObject) {
self.navigationItem.setLeftBarButtonItem(UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: "someFakeAction"), animated: true)
}
func someFakeAction() {
println("Button pressed")
}
当我点击“播放”按钮时,会出现快速淡入淡出的动画,然后“播放”按钮返回。 不调用someFakeAction函数。 我究竟做错了什么?
尝试这个:
全局声明UIBarButtonItem,以便以后可以访问它。 让我们称之为playPauseButton
全局声明一个布尔变量以跟踪它是在播放还是在暂停,我们称之为isPlaying
。
从viewDidLoad初始化isPlaying = true
,并使用具有pauseIt
操作的pauseIt
并将其设置为leftBarButtonItem
。
如果在pauseIt
方法init isPlaying = false
按下按钮, playPauseButton
使用操作playIt
初始化playIt
并将其设置为leftBarButtonItem
。
在playIt
设置isPlaying = true
一次初始化的playPauseButton
用行动pauseIt
。
希望对您清楚。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.