В моем приложении есть несколько контроллеров. Я хочу скрыть navigationbar
в моем первом контроллере представления. Поэтому я использую следующий код, чтобы скрыть панель навигации
navigationController?.setNavigationBarHidden(navigationController?.navigationBarHidden == false, animated: true);
Теперь я хочу добавить панель навигации в какой-то другой viewController, но моя панель навигации не отображается в этом диспетчере просмотра. Почему это происходит?
Моя раскадровка, показывающая панель навигации, но как только я пытаюсь запустить мое приложение, она ушла.
Если я скрою панель навигации с одного контроллера вида, мы не сможем использовать контроллер навигации, не так ли? Надеюсь, я ошибаюсь. Тогда какие причины для навигации не отображаются?
EDIT:
Также я хочу, чтобы мой контроллер просмотра только в портретном режиме. Итак, я сделал следующее: это вызывает проблему?
extension UINavigationController{
public override func shouldAutorotate() -> Bool {
if (UIDevice.currentDevice().orientation == UIDeviceOrientation.LandscapeLeft ||
UIDevice.currentDevice().orientation == UIDeviceOrientation.LandscapeRight ||
UIDevice.currentDevice().orientation == UIDeviceOrientation.Unknown) {
return false
}
else {
return true
}
}
public override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return [UIInterfaceOrientationMask.Portrait ,UIInterfaceOrientationMask.PortraitUpsideDown]
}
}
Изменить 1:
Я использую следующий код для перехода с одного контроллера просмотра, а не на ссылку из раскадровки. Это проблема?
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let secondViewController = storyboard.instantiateViewControllerWithIdentifier("HomeVC")
presentViewController(secondViewController, animated: false, completion: nil)
Изменить 2:
Пожалуйста, проверьте мои следующие снимки экрана. Каковы мои настройки для контроллера второго взгляда
Изменить 3: