Установить barButtonItem в AppDelegate - PullRequest
0 голосов
/ 06 июня 2018

Как мне установить barButtonItem в AppDelegate?Теперь у меня есть этот код:

func presentDetailViewController(_ hallID: String) {

    let storyboard = UIStoryboard(name: "Main", bundle: nil)

    let navVC = UINavigationController()

    let newDetailVC = storyboard.instantiateViewController(withIdentifier: "newDetailVC") as! NewDetailTableViewController

    newDetailVC.hallID = hallID

    navVC.viewControllers = [newDetailVC]

    let backItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(AppDelegate.goToMainVC))
    navVC.navigationItem.setRightBarButton(backItem, animated: true)

    window?.rootViewController = navVC 

    window?.makeKeyAndVisible()

}

@objc func goToMainVC() {

    let storyboard = UIStoryboard(name: "Main", bundle: nil)

    let navVC = UINavigationController()

    let mainVC = storyboard.instantiateViewController(withIdentifier: "MainVC") as! PhotoStudiosViewController

    navVC.viewControllers = [mainVC]

    window?.rootViewController = navVC

    window?.makeKeyAndVisible()

}

let backItem = UIBarButtonItem(title: "Назад", style: .plain, target: self, action: #selector(AppDelegate.goToMainVC)) navVC.navigationItem.setRightBarButton(backItem, animated: true)

Эта строка мне не помогла и barButtonItem все еще не появляется.Как я могу создать backButton своим действием func goToMainVC?

1 Ответ

0 голосов
/ 06 июня 2018

Вы не устанавливаете элемент навигации на контроллер навигации, а устанавливаете элемент навигации на панель навигации viewController

, поэтому измените свой код на

let newDetailVC = storyboard.instantiateViewController(withIdentifier: "newDetailVC") as! NewDetailTableViewController
let backItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(AppDelegate.goToMainVC))
//navVC.navigationItem.setRightBarButton(backItem, animated: true) this is the issue
newDetailVC.navigationItem.setRightBarButton(backItem, animated: true)

Надеюсь, это поможет

...