在Swift中切换iOS栏按钮标识符(播放/暂停)

时间:2015-08-23 04:31:28

标签: ios swift toggle uibarbuttonitem uibarbuttonsystemitem

我知道过去已经提出并回答了类似的问题。但是,我似乎无法执行从播放到暂停切换左侧栏按钮的简单操作。

这是我的代码:

@IBAction func toggleButton(sender: AnyObject) {
    self.navigationItem.setLeftBarButtonItem(UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: "someFakeAction"), animated: true)
}

func someFakeAction() {
    println("Button pressed")
}

当我点按“播放”按钮时,会有一个快速淡化动画,然后“播放”按钮返回。函数someFakeAction未被调用。我究竟做错了什么?

1 个答案:

答案 0 :(得分:0)

试试这个:

  1. 全局声明UIBarButtonItem,以便以后可以访问它。我们称之为playPauseButton

  2. 全局声明一个布尔变量,以便在播放或暂停时保持跟踪,我们称之为isPlaying

  3. 来自viewDidLoad init isPlaying = true,以及带有操作pauseIt的playPauseButton,并将其设置为leftBarButtonItem

  4. 如果在pauseIt方法初始化isPlaying = false中按下按钮,请使用操作playPauseButton初始化playIt并将其设置为leftBarButtonItem

  5. 再次playIt设置isPlaying = true,并使用playPauseButton启动pauseIt

  6. 希望你清楚。