Swift:在代码中更改Bar Button Item

时间:2014-12-26 18:14:34

标签: ios swift

我正在使用swift。我有一个Bar Button项目,我想在代码中将标识符从Play更改为Stop。这有可能吗?你是怎么做到的?

@IBOutlet var StartStopButton: UIBarButtonItem!


@IBAction func StartAlarm(sender: AnyObject) {

    onOffIndicator.hidden = false
    StartStopButton.Identifier = ?????

}

1 个答案:

答案 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:")

顺便说一下,记得使用非大写的函数和变量名;)