Выполнить сеанс с программно добавленной кнопкой навигации
Я пытаюсь настроить элемент кнопки панели навигации программно... У меня просто есть некоторые проблемы, которые, я уверен, легко исправить. Я хочу сделать ее кнопкой "Добавить" по умолчанию на данный момент, но также и в будущем я хочу сделать элемент панели кнопок пользовательским значком, который я создаю. так что, я думаю, мне хотелось бы узнать, как программно изменить кнопку панели навигации на стили по умолчанию и пользовательские значки... спасибо!
override func viewDidAppear(animated: Bool) {
let rightbutton = UIBarButtonItem(title: "+", style: UIBarButtonItemStyle.Plain, target: self, action: "uploadButtonClicked")
navigationItem.rightBarButtonItem = rightbutton
}
1 ответ
Решение
Вот как вы могли бы сделать это с помощью кнопки добавления по умолчанию:
let button = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "uploadButtonClicked")
self.navigationItem.rightBarButtonItem = button
Вот как вы можете программно добавить пользовательское изображение:
let customImage = UIImage(named: "customButtonImage")
let customButton = UIBarButtonItem(image: customImage, style: UIBarButtonItemStyle.Plain, target: self, action: "uploadButtonClicked:")
self.navigationItem.rightBarButtonItem = customButton
Чтобы выполнить переход, вы можете сделать это:
@IBAction func uploadButtonClicked(sender: UIBarButtonItem) {
performSegueWithIdentifier("segueIdentifier", sender: self)
}
Или, если вы хотите перейти оттуда к другой раскадровке, тогда ваш IBAction будет выглядеть так:
@IBAction func uploadButtonClicked(sender: UIBarButtonItem) {
let storyboard = UIStoryboard(name: "YourStoryboard", bundle: nil)
let nc = storyboard.instantiateInitialViewController() as! UINavigationController
let vc = nc.viewControllers.first as! YourViewController