Я сделал экран запуска корневым представлением, в то время как мое приложение отправляет запрос в firebase, а затем переназначает корневое представление после завершения запроса. К сожалению, когда я делаю это, моя панель навигации исчезает или закрывается новым корневым представлением. Когда я запускаю симулятор, я ненадолго вижу панель навигации, а затем она закрывается моим TableViewController. Как мне не допустить этого?
Вот мой код из AppDelegate, где я все это делаю:
var window: UIWindow?
let searchManager = SearchManager()
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
makeRootViewLaunchScreen()
FirebaseApp.configure()
searchManager.getMosaicTitles { results in
self.searchManager.listOfMosaics = results
self.stopDisplayingLaunchScreen()
}
// Adds border to bottom of the nav bar
UINavigationBar.appearance().shadowImage = UIImage.imageWithColor(color: UIColor(red:0.00, green:0.87, blue:0.39, alpha:1.0))
// Override point for customization after application launch.
return true
}
func makeRootViewLaunchScreen() {
let mainStoryboard: UIStoryboard = UIStoryboard(name: "LaunchScreen", bundle: nil)
let viewController = mainStoryboard.instantiateViewController(withIdentifier: "launchScreen")
UIApplication.shared.keyWindow?.rootViewController = viewController
}
func stopDisplayingLaunchScreen() {
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewController(withIdentifier: "centralViewController") as? SearchResultsTableViewController
viewController?.searchManager = searchManager
UIApplication.shared.keyWindow?.rootViewController = viewController
UIApplication.shared.keyWindow?.rootViewController?.navigationController?.isNavigationBarHidden = false
}
Как вы можете видеть, я пытался использовать UIApplication.shared.keyWindow?.rootViewController?.navigationController?.isNavigationBarHidden = false
, чтобы заставить панель навигации появляться, но это не так. Мое приложение по-прежнему выглядит так: