Je veux montrer une des deux vues dans swift basé sur une instruction if quand l'application lance d'abord comment puis-je faire que c'est la logique
if signupconfirmed == true { // have to show one view } else { // have to show another view }
Une façon est que vous pouvez initier viewController avec l'identificateur avec le code ci-dessous:
var signupconfirmed = true @IBAction func signUpPressed(sender: AnyObject) { if signupconfirmed { // have to show one view let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("First") as! SViewController self.presentViewController(vc, animated: true, completion: nil) } else { // have to show another view let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("Second") as! TViewController self.presentViewController(vc, animated: true, completion: nil) } }
Mettre à jour:
Vous pouvez effectuer cette action dans votre AppDelegate.swift
Voici votre code:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { let signupconfirmed = NSUserDefaults.standardUserDefaults().boolForKey("SignUp") self.window = UIWindow(frame: UIScreen.mainScreen().bounds) var initialViewController = UIViewController() var storyboard = UIStoryboard(name: "Main", bundle: nil) if signupconfirmed { initialViewController = storyboard.instantiateViewControllerWithIdentifier("First") as! UIViewController } else{ initialViewController = storyboard.instantiateViewControllerWithIdentifier("Second") as! UIViewController } self.window?.rootViewController = initialViewController self.window?.makeKeyAndVisible() return true }
J'espère que cela vous aidera.
dans votre applicationDelegate "didFinishLaunchingWithOptions" avant le return
var userSignedUp = NSUserDefaults.standardUserDefaults().boolForKey("signup") if userSignedUp { // have to show another view let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("anyOtherViewThanSignUp") as! TViewController self.window?.rootViewController = vc } else { // have to show SignUp view let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("signupView") as! SViewController self.window?.rootViewController = vc } }