without present open change ios swift uiviewcontroller uistoryboard

ios - present - ¿Cómo puedo hacer que uiviewcontroller sea visible solo una vez durante la primera ejecución de la aplicación(por ejemplo, tutorial)?



uiviewcontroller swift (2)

En el método didFinishLaunchingWithOptions de AppDelegate compruebe el valor de NSUserDefaults esta manera.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { let defaults = NSUserDefaults.standardUserDefaults() if defaults.objectForKey("isFirstTime") == nil { defaults.setObject("No", forKey:"isFirstTime") defaults.synchronize() let storyboard = UIStoryboard(name: "main", bundle: nil) //Write your storyboard name let viewController = storyboard.instantiateViewControllerWithIdentifier("ViewController") as! ViewController self.window.rootViewController = viewController self.window.makeKeyAndVisible() } return true }

Nota: He creado el objeto de ViewController que necesita para crear el objeto de su pantalla de tutorial de FirstPage después de que lo asigne al rootViewController .

Estoy creando una aplicación swift iOS y quiero mostrar la pantalla de tutorial cuando el usuario ejecuta la aplicación por primera vez. Más adelante, con cada ejecución de la aplicación, el tutorial debería estar oculto y otro controlador de vista debería estar visible como punto de partida. Hasta ahora, mi guión gráfico se ve así:

Contiene dos pantallas de tutorial (1º y último) y barra de pestañas (que es una ventana principal de mi aplicación).

Por ahora, en el guión gráfico elegí la barra de pestañas para ser un controlador de vista inicial:

Y con ese enfoque, la pantalla del tutorial nunca se ve. ¿Cómo puedo mostrarlo solo una vez en la primera aplicación de lanzamiento y luego omitirlo cada vez que el usuario abre la aplicación?


Para swift 4 realice estos cambios.

let defaults = UserDefaults.standard if defaults.object(forKey: "isFirstTime") == nil { defaults.set("No", forKey:"isFirstTime") defaults.synchronize() ... }