2014-12-26 3 views
3

Я использую быстро. У меня есть элемент кнопки «Бар», который я хотел бы изменить с помощью идентификатора от Play to Stop в коде. Возможно ли это, и как вы это делаете?Swift: change Bar Button Элемент в коде

@IBOutlet var StartStopButton: UIBarButtonItem! 


@IBAction func StartAlarm(sender: AnyObject) { 

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

} 
+0

Да, это возможно. что ты уже испробовал? Отправьте свой код, пожалуйста. –

+0

Я добавил код – lascoff

ответ

6

К сожалению, вы не можете изменить идентификатор, чтобы установить элемент всего элемента панели. Вы должны сделать следующее:

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

Кстати, не забудьте использовать некапитализированные функции и имена переменных;)