[英]Swift: change Bar Button Item in code
我正在使用迅速。 我有一个条形按钮项,我想在代码中将标识符从播放更改为停止。 这可能吗?你怎么做?
@IBOutlet var StartStopButton: UIBarButtonItem!
@IBAction func StartAlarm(sender: AnyObject) {
onOffIndicator.hidden = false
StartStopButton.Identifier = ?????
}
不幸的是,您无法更改标识符,因此您必须设置整个栏按钮项。 您必须执行以下操作:
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Stop, target: self, action: "startAlarm:")
为了使它更好,您可以定义一个UIBarButtonSystemItem
数组和一个索引,如下所示:
let myArray = [UIBarButtonSystemItem.Start, UIBarButtonSystemItem.Stop]
var index = 0
然后你可以这样做:
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: myArray[++index % myArray.count], target: self, action: "startAlarm:")
顺便说一句,记住使用非大写的函数和变量名;)
@IBOutlet var StartStopButton: UIBarButtonItem!
@IBAction func StartAlarm(sender: AnyObject) {
onOffIndicator = !onOffIndicator
if onOffIndicator {
StartStopButton.image = UIImage(systemName: "stop")
} else {
StartStopButton.image = UIImage(systemName: "play")
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.