2016-11-23 8 views
2

У меня есть контроллер просмотра, который содержит учебник, который я хочу отображать только в качестве первого вида при первом открытии приложения. После этого я хочу представить свой главный контроллер представления. Я посмотрел несколько вопросов об этом здесь, но, честно говоря, я ничего не мог понять. Может кто-то мне помочь, пожалуйста?Как я могу изменить контроллер начального представления после первого запуска?

ответ

4

после вашего приложения lauch, он вызовет метод didFinishLaunchingWithOptions в делегат приложения:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    // here you have the chance to change your rootview controller 
    if(UserDefaults.standard.bool(forKey: "notFirstInApp") == false){ 
     UserDefaults.standard.set(true, forKey: "notFirstInApp") 
     window?.rootViewController = your tutorial view controller 
    }else{ 
     window?.rootViewController = your main viewcontroller 
    } 

    return true 
} 
+0

U prooted. Я бы добавил, что вы можете захотеть предоставить возможность просмотреть учебник во второй раз. Многие пользователи могут это оценить. – dfd

1

, если вы хотите, чтобы непосредственно перейти или навигации вид просто использовать

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "youSegueIdentifire" 
    { 
     if let destinationVC = segue.destinationViewController as? OtherViewController { 
      destinationVC.numberToDisplay = counter 
     } 
    } 
} 

и называют этот SEGUE

self.performSegueWithIdentifier("youSegueIdentifire", sender: self) 

и если вы хотите, чтобы изменить вид корневой, как вы говорите, начальное ViewController

var exampleViewController: ExampleViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ExampleController") as! ExampleViewController 

    self.window?.rootViewController = exampleViewController 
Смежные вопросы