Выполнить сеанс с программно добавленной кнопкой навигации

Я пытаюсь настроить элемент кнопки панели навигации программно... У меня просто есть некоторые проблемы, которые, я уверен, легко исправить. Я хочу сделать ее кнопкой "Добавить" по умолчанию на данный момент, но также и в будущем я хочу сделать элемент панели кнопок пользовательским значком, который я создаю. так что, я думаю, мне хотелось бы узнать, как программно изменить кнопку панели навигации на стили по умолчанию и пользовательские значки... спасибо!

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
Другие вопросы по тегам