NavigationItem не отображается, когда VC вызывается с self.present
Нужна помощь в этом, так как я борюсь в течение нескольких дней сейчас...
У меня есть VC с элементом навигации, который вызывается из 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()")
}
Это работает безупречно без проблем, когда вызвано с запущенным показом шоу.
Когда я звоню в ВК с ниже:
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 ответ
Решение
Вы должны добавить навигацию при представлении:
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)