Почему мой UITabBar исчезает после загрузки загрузочного экрана? - PullRequest
0 голосов
/ 12 февраля 2019

Я использую Tab Bar Controller, он работает нормально, но когда мое приложение впервые запускается с моего встроенного экрана для пользователей, чтобы принять условия и положения, панель вкладок исчезает.

Я не слишком уверен, что здесь делать.Вот мой код:

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


    //tnc screen ----------------------------------------------
    let launchedBefore = UserDefaults.standard.bool(forKey: "hasLaunched")
    self.window = UIWindow(frame: UIScreen.main.bounds)
    let launchStoryboard = UIStoryboard(name: "Onboarding", bundle: nil)
    let mainStoryboard = UIStoryboard (name: "Main", bundle: nil)

    var vc: UIViewController
    if launchedBefore {
        vc = mainStoryboard.instantiateInitialViewController()!


    } else {

        vc = launchStoryboard.instantiateViewController(withIdentifier: "FirstLaunch")

    }

    UserDefaults.standard.set(true, forKey: "hasLaunched")
    self.window?.rootViewController = vc
    self.window?.makeKeyAndVisible()
    //end tnc screen ---------------------------------------------

Как мне это исправить?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Мне удалось это исправить, добавив это к моей кнопке согласования (которая находится на раскадровке с моими tncs):

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    self.present(homeVC, animated: true, completion: nil)*/
    let controller = storyboard.instantiateViewController(withIdentifier: "TabBarController"); addChild(controller)
    view.addSubview(controller.view)
    controller.didMove(toParent: self)

Огромное спасибо @Woodstock и @Teetz за помощь в понимании логикиЭто!:)

0 голосов
/ 12 февраля 2019

Это потому, что вы скрываете свою UITabBarController раскадровку с раскадровкой T & C.

Я был бы склонен полностью отказаться от раскадровок, иметь корень UITabBarController и один из UIViewControllersсказал TabBarController управляет, добавьте вспомогательное представление для принятия T & C.

Раскадровки раскидывания выглядят так:

UIWindow
--UITabBarController (the windows root view controller)
----UIViewController for tab 1
------UIView to show T&C
----UIViewController for tab 2
----UIViewController for tab n
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...