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()
...
}