У меня есть несколько контроллеров в моем приложении. Я хочу скрыть navigationbar
в моем первом контроллере. Поэтому я использую следующий код, чтобы скрыть панель навигации,Навигационная панель, не показывающая iOS swift
navigationController?.setNavigationBarHidden(navigationController?.navigationBarHidden == false, animated: true);
Теперь я хочу, чтобы добавить навигационную панель в другой ViewController но моя навигационная панель не видна в этом 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]
}
}
Edit 1:
Я использую следующий код, чтобы перейти от одной из точек зрения контроллера не связывает с раскадровки. Это проблема?
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let secondViewController = storyboard.instantiateViewControllerWithIdentifier("HomeVC")
presentViewController(secondViewController, animated: false, completion: nil)
Edit 2:
Пожалуйста, проверьте мои следующие скриншоты. Какие мои настройки контроллера secondview
Edit 3:
Вот мой навигационный контроллер атрибут инспектор
вы устанавливаете весь стек контроллера навигации, чтобы он не отображался на контроллерах представлений, которые размещены на контроллере навигации. Если вам нужно отключить только определенные контроллеры, просто сделайте [self.navigationController setNavigationBarHidden: YES]; in viewDidLoad для контроллера вида –