另一个但具体的播放/暂停问题

时间:2016-04-26 21:56:51

标签: ios swift uibarbuttonitem

我试图在工具栏中为简单的秒表应用实现播放/暂停和停止按钮。请参阅http://swiftstub.com/722226472处的代码我遇到了奇怪的行为:首先播放按钮什么都不做。如果我单击停止按钮,图标将消失,然后播放/暂停切换并正常工作。建议?我使用的是最新的swift和Xcode

1 个答案:

答案 0 :(得分:0)

在这两行中,

目标应该是自我(不是零):

var playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: nil, action: Selector("playButtonPressed"))

var pauseButton = UIBarButtonItem(barButtonSystemItem:
    UIBarButtonSystemItem.Pause, target: nil, action: Selector("pauseButtonPressed"))

编辑(根据评论):你应该将这些行移到init(),因为你不能用这样初始化的var初始化。

var playButton: UIBarButtonItem!
var pauseButton: UIBarButtonItem!

required init?(coder aDecoder: NSCoder) {
   super.init(coder: aDecoder)
   playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: Selector("playButtonPressed"))
   pauseButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: Selector("pauseButtonPressed"))
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    let toolBarItems = [playButton]
    toolbar.setItems(toolBarItems, animated: false)
}

由于您从未添加过这些内容,因此我怀疑您的故事板中只有另一个按钮,它没有连接到任何内容。然后在第一次停止呼叫时替换它们。