另一个但特定的播放/暂停问题



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

目标在以下两行中都应该是 self(而不是 nil):

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

EDIT(基于注释):您应该将这些行移动到 init(),因为您无法在以这种方式初始化的 var 中使用 self 进行初始化。

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)
}

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

最新更新