Код: Выделить всё
navigationController?.setNavigationBarHidden(navigationController?.navigationBarHidden == false, animated: true);
В моей раскадровке отображается панель навигации, но как только я пытаюсь запустить приложение, она исчезает.
Если я скрою панель навигации из одного контроллера представления мы не можем использовать контроллер навигации. Так ли это? Надеюсь, я ошибаюсь. Тогда каковы причины того, что панель навигации не отображается?
РЕДАКТИРОВАТЬ:
Кроме того, я хочу, чтобы мой контроллер представления был в портретной ориентации только режим. Итак, я сделал следующее. Это вызывает проблему?
Код: Выделить всё
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]
}
}
Я использую следующий код для перехода от одного контроллера представления, а не ссылки из раскадровки. Это сейчас вызывает проблемы?
Код: Выделить всё
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let secondViewController = storyboard.instantiateViewControllerWithIdentifier("HomeVC")
presentViewController(secondViewController, animated: false, completion: nil)
Пожалуйста, проверьте мои следующие снимки экрана. Каковы мои настройки для контроллера SecondView


Изменить 3:
Вот инспектор атрибутов моего навигационного контроллера

Подробнее здесь: https://stackoverflow.com/questions/336 ... -ios-swift