Здесь вы делаете LaunchViewController
начальный VC при первом запуске. Вот почему он не работает с первого раза.
Чтобы использовать SWRevealViewController
, вам нужны два контроллера вида, один - это контроллер вид спереди, который вы хотите показать в первый раз, а второй - для выдвижного ящика, который может быть tableViewController
, который содержит все остальные контроллеры вида. Чтобы добавить SWRevealViewController
, позвоните openDrawer()
в AppDelegate
.
func openDrawer() {
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let drawerVC = storyboard.instantiateViewController(withIdentifier: "idDrawerVC") as! RearVC
let dashboardVC = storyboard.instantiateViewController(withIdentifier: "idFrontVC") as! FrontVC
let frontNavigationController = UINavigationController(rootViewController: dashboardVC)
let revealViewController = SWRevealViewController(rearViewController: drawerVC, frontViewController: frontNavigationController)
revealViewController?.delegate = self
revealViewController?.view.backgroundColor = .clear
revealViewController?.modalTransitionStyle = .crossDissolve
window?.rootViewController = revealViewController
}