另一个但具体的 play/pause 问题
Another, but specific play/pause issue
我正在尝试在一个简单的秒表应用程序的工具栏中实现 play/pause 和停止按钮。请参阅 http://swiftstub.com/722226472 处的代码 我遇到了奇怪的行为:起初播放按钮什么都不做。如果我点击停止按钮,图标就会消失,然后 play/pause 切换并正常工作。建议?我使用的是最新的 swift 和 Xcode
target 在这两行中都应该是 self(不是 nil):
var playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: nil, action: Selector("playButtonPressed"))
var pauseButton = UIBarButtonItem(barButtonSystemItem:
UIBarButtonSystemItem.Pause, target: nil, action: Selector("pauseButtonPressed"))
编辑(基于评论):并且您应该将这些行移动到 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)
}
由于您一开始就没有添加这些,我怀疑您的情节提要中只有另一个按钮没有连接到任何东西。然后在第一次调用停止时替换它们。
我正在尝试在一个简单的秒表应用程序的工具栏中实现 play/pause 和停止按钮。请参阅 http://swiftstub.com/722226472 处的代码 我遇到了奇怪的行为:起初播放按钮什么都不做。如果我点击停止按钮,图标就会消失,然后 play/pause 切换并正常工作。建议?我使用的是最新的 swift 和 Xcode
target 在这两行中都应该是 self(不是 nil):
var playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: nil, action: Selector("playButtonPressed"))
var pauseButton = UIBarButtonItem(barButtonSystemItem:
UIBarButtonSystemItem.Pause, target: nil, action: Selector("pauseButtonPressed"))
编辑(基于评论):并且您应该将这些行移动到 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)
}
由于您一开始就没有添加这些,我怀疑您的情节提要中只有另一个按钮没有连接到任何东西。然后在第一次调用停止时替换它们。