2016-08-02 5 views
0

So verstehe ich, dass der Code hier in der Lage sein soll, meinen Login-Bildschirm beim Treffen Login zu ersetzen, tut es jedoch nicht. Stattdessen wird geladen und bleibt auf dem Anmeldebildschirm für die Analyse. Wenn ich jedoch die App verlasse, lädt sie den richtigen Bildschirm. Hat jemand eine Idee, wie man den Login-Bildschirm bei der Anmeldung effizienter löscht?Anmeldebildschirm in iOS bei Verwendung von Parse ausblenden

let user = PFUser.currentUser() 

let startViewController: UIViewController; 

if (user != nil) { 
    // 3 
    // if we have a user, set the TabBarController to be the initial view controller 
    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    startViewController = storyboard.instantiateViewControllerWithIdentifier("TabBarController") as! UITabBarController 
} else { 
    // 4 
    // Otherwise set the LoginViewController to be the first 
    let loginViewController = PFLogInViewController() 
    loginViewController.fields = [.UsernameAndPassword, .LogInButton, .SignUpButton, .PasswordForgotten] 
    loginViewController.delegate = parseLoginHelper 
    //loginViewController.signUpController?.delegate = parseLoginHCelper 

    startViewController = loginViewController 
} 

// 5 
self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 
self.window?.rootViewController = startViewController; 
self.window?.makeKeyAndVisible() 

return false 
} 
+0

so werden Sie einige Subview hinzufügen und Ihnen die Viewcontroller innen öffnen? Wo ist das init? –

+0

@Lu_ nicht sicher, ob ich dich Frage verstehe? –

+0

so werde ich auf andere Weise fragen, wir haben keine Ahnung, was dein Code ersetzen sollte, weil wir nicht wissen, wo diese Init ist, könntest du mir etwas mehr das zeigen? –

Antwort

0

Ich glaube, Sie nicht

self.window?.rootViewController!.presentViewController(tabBarController, animated:true, completion:nil) 

statt, wenn Sie bereits in einem gewissen Controller nennen sollte, warum tabBar gehen einfach so:

presentViewController(tabBarController, animated:true, completion:nil) 
+0

dasselbe Problem wie oben .. es sagt, ist ein ungelöstes Mitglied –

0

Sie sollten nicht verwendet werden:

self.window?.rootViewController!.presentViewController(tabBarController, animated:true, completion:nil) 

Versuchen Sie, das l zu ändern ine von:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let vc = storyboard.instantiateViewControllerWithIdentifier("tabBarController") as! tabBarController 
    self.presentViewController(vc, animated: true, completion: nil) 

und in Ihrem Storyboard, stellen Sie die Storyboard-ID von TabBarController unter Identität Inspektor: TabBarController

+0

versucht, dass .. gibt mir presentViewController hat kein Mitglied vorhanden –