Панель навигации TabBarViewController покрывает панель навигации из контроллера навигации - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь использовать панель навигации из контроллера навигации при использовании панели вкладок из UITabBarController.Если я устанавливаю корневой контроллер моего контроллера навигации в мой контроллер представления панели вкладок, я получаю изображение 2. Если я устанавливаю корневой контроллер в свой основной контроллер представления (который является элементом панели вкладок 0), я получаю изображение 1.

IMG:
требуемая панель навигации

IMG:
требуемая панель вкладок

Я не использую раскадровку, сейчас моя иерархия выглядит следующим образом:

NavigationController->UITabBarController->ViewControllers

AppDelegate.swift:

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    window = UIWindow(frame: UIScreen.main.bounds)
    window?.makeKeyAndVisible()
    window?.rootViewController = UINavigationController(rootViewController: TabViewController())

    return true
}

1 Ответ

0 голосов
/ 08 декабря 2018

Это происходит потому, что если у вас несколько навигационных контроллеров или навигационная панель, то начальная панель навигации по умолчанию будет перекрывать следующую панель навигации.Вы можете достичь желаемого результата, установив панель навигации начального контроллера скрытый

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

 window = UIWindow(frame: UIScreen.main.bounds)
 window?.makeKeyAndVisible()
 let navigation =  UINavigationController(rootViewController: TabViewController()) 
 navigation.setNavigationBarHidden(true, animated: false)
 window?.rootViewController = navigation
 return true 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...