NavigationItem не отображается, когда VC вызывается с self.present - PullRequest
0 голосов
/ 05 мая 2018

нужна помощь по этому вопросу, так как я борюсь в течение нескольких дней ...

У меня есть ВК с элементом навигации, вызываемым из viewDiDLoad:

override func viewDidLoad() {
    super.viewDidLoad()
    self.customization()
    self.fetchData()
}

...

func customization() {
        self.navigationItem.title = self.currentUser?.displayName
    self.navigationItem.setHidesBackButton(true, animated: false)
    let icon = UIImage.init(named: "back")?.withRenderingMode(.alwaysTemplate)
    let backButton = UIBarButtonItem.init(image: icon!, style: .plain, target: self, action: #selector(self.dismissSelf))
    backButton.tintColor = UIColor(red: 0.0157, green: 0.498, blue: 0, alpha: 1.0)
    self.navigationItem.leftBarButtonItem = backButton
    self.locationManager.delegate = self
    print("called customization()")
}

Это работает без проблем при вызове с запущенным шоу Segue.

Когда я звоню в ВК с нижеуказанным:

    let storyBoard: UIStoryboard = UIStoryboard(name: "Storyboard", bundle: nil)
    let viewController = storyBoard.instantiateViewController(withIdentifier: "SecondVC") as! SecondVC
self.present(viewController, animated: true, completion: nil)

Я получил метод для доступа к viewDidLoad и customizations () из консоли:

called customization() 

но навигационный элемент не отображается.

Попытка скопировать методы в customization () из вызывающего метода, они выполняются, но также не показываются.

Есть идеи, что здесь не так, пожалуйста?

1 Ответ

0 голосов
/ 05 мая 2018

Вы должны добавить навигацию при представлении:

let storyBoard: UIStoryboard = UIStoryboard(name: "Storyboard", bundle: nil)
let viewController = storyBoard.instantiateViewController(withIdentifier: "SecondVC") as! SecondVC
let nav = UINavigationController(rootViewController: viewController)
self.present(nav, animated: true, completion: nil)
...