Вы можете сделать это, добавив действие в свой UIBarButtonItem, вы также можете изменить цель.
Пример:
override func viewDidLoad() {
super.viewDidLoad()
let mySelector: Selector = "showActionAlert"
let rightNavigationBarItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: mySelector)
navigationItem.rightBarButtonItem = rightNavigationBarItem
}
func showActionAlert() {
let alertView = UIAlertView(title: "MY ALERT", message: "barButtonItem Tapped", delegate: nil, cancelButtonTitle: "OK")
alertView.show()
navigationItem.rightBarButtonItem?.action = "showSecondAlert"
}
func showSecondAlert() {
let alertView = UIAlertView(title: "MY ALERT", message: "My second alert", delegate: nil, cancelButtonTitle: "OK")
alertView.show()
}
Надеется, что это помогает.