我正在使用swift。我有一个Bar Button项目,我想在代码中将标识符从Play更改为Stop。这有可能吗?你是怎么做到的?
@IBOutlet var StartStopButton: UIBarButtonItem!
@IBAction func StartAlarm(sender: AnyObject) {
onOffIndicator.hidden = false
StartStopButton.Identifier = ?????
}
答案 0 :(得分:9)
很遗憾,您无法更改标识符,因此您必须设置整个条形按钮项。您必须执行以下操作:
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:")
顺便说一下,记得使用非大写的函数和变量名;)