swift - 如何通过更改播放按钮的标识符将点击时的播放按钮更改为暂停按钮?

标签 swift uibarbuttonitem

我想通过更改其标识符来将最初是播放按钮的栏按钮项目更改为暂停按钮,但它给我“UIBarButtonItem”没有名为“Identifier”的成员。我怎样才能实现这个目标?

最佳答案

假设您使用系统生成的 UIBarButtonItem 作为播放按钮,您需要保留对两个 UIBarButtonItem 的强引用,一个用于播放按钮,另一个用于暂停按钮。

然后,当点击播放按钮时,将其从工具栏中删除,并在其位置添加暂停按钮。当点击暂停按钮时,您将反转此过程。

例如:

class ViewController: UIViewController {

    @IBOutlet weak var toolbar: UIToolbar!

    var playButton: UIBarButtonItem!
    var pauseButton: UIBarButtonItem!

    override func viewDidLoad() {
        super.viewDidLoad()
        playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "playButtonTapped")
        pauseButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: "pauseButtonTapped")

        toolbar.items = [playButton];
    }

    func playButtonTapped() {
        toolbar.items = [pauseButton];
    }

    func pauseButtonTapped() {
        toolbar.items = [playButton];
    }

}

关于swift - 如何通过更改播放按钮的标识符将点击时的播放按钮更改为暂停按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31404243/

相关文章:

ios - 无法更改 UIBarButtonItem 的背景

ios - UIBarButtonItem 在 unwind segue 之后仍然被选中/突出显示

Swift - 从自定义 UITableViewCell 调用 UIViewController 的函数

ios - 如何隐藏不在末尾的空单元格 TableView ? swift 3

ios - 无法通过编程约束在 UIScrollView 中看到 subview

swift - 更改 navigationItem.rightBarButton 不会导致视觉变化

ios - 使用 customView 将GestureRecognizer 添加到 rightBarButtonItem

ios - 为什么我不能从我的应用程序中查看存储的播放列表?

ios - Swift 3 定时事件

iphone - 如何旋转 UIBarButtonItem?