У меня есть код, который показывает только первый контроллер представления в моей раскадровке при первом запуске приложения. После этого я хочу пропустить эту страницу и перейти к моему второму представлению при каждом запуске. Я встроил первый вид (который подключен ко второму) в навигационном контроллере.Swift, показывающий просмотр только при первом запуске с контроллером навигации
Моя проблема в том, что после первого запуска, когда приложение переходит ко второму представлению, оно отображает представление без панели навигации сверху, и я не уверен, почему.
В моей AppDelegate:
func firstLaunchCheck(){
let launchedBefore = UserDefaults.standard.bool(forKey: "launchedBefore")
if launchedBefore{
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let initialView : UIViewController = storyboard.instantiateViewController(withIdentifier: "mainScreen") as UIViewController
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = initialView
self.window?.makeKeyAndVisible()
}
else{
UserDefaults.standard.set(true, forKey: "launchedBefore")
}
}
UPDATE: я завелся только изменения, какой вид контроллер заливали в навигационном контроллере (исключая первый), так как это не имеет смысла для меня имейте это там. Так что теперь после первого запуска он загружает навигационный контроллер
@jcka vc2 должен вставляться в контроллер навигации, а второй - в контроллер навигации, верхний vc - vc2. – aircraft
, потому что во второй раз вы пропускаете первый контроллер вида, у которого есть панель навигации. если вы хотите отобразить навигационную панель второй раз, вы должны добавить ее на контроллер второго представления также – Ram