成功登录PFUser后,关闭视图并路由到根视图

时间:2014-12-16 12:10:41

标签: ios xcode swift parse-platform

成功登录后我无法关闭PFLoginView。登录似乎成功,但视图不会自行解除并路由到根视图。下面是我的LoginViewController,从PFLoginViewController继承:

class LoginViewController: PFLogInViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.hidesBackButton = true
    self.navigationController?.navigationBarHidden = true
}

func logInViewController(controller: PFLogInViewController, didLogInUser user: PFUser) -> Void {
    self.dismissViewControllerAnimated(true, completion: nil)
    self.navigationController?.popToRootViewControllerAnimated(true)
}
}

如果有ParseUI.framework经验的人可以提供帮助,我将不胜感激。

2 个答案:

答案 0 :(得分:0)

popToRootViewController会自动关闭当前的viewController,所以它应该足够了:

func logInViewController(controller: PFLogInViewController, didLogInUser user: PFUser) -> Void {
    self.navigationController?.popToRootViewControllerAnimated(true)
}

答案 1 :(得分:0)

所以我能够弄明白。 Zisoft感谢您的尝试。我尝试了你的答案,但它没有解雇viewController。以下是您复制它的代码:

class LoginViewController: UIViewController, PFLogInViewControllerDelegate, PFSignUpViewControllerDelegate {

override func viewDidLoad() {
    super.viewDidLoad()
}

override func viewDidAppear(animated: Bool) {
    //Create Login
    var loginViewController:PFLogInViewController = PFLogInViewController()
    loginViewController.fields = PFLogInFields.Default
    presentViewController(loginViewController, animated: true, completion: nil)
    loginViewController.delegate = self
    loginViewController.signUpController.delegate = self
}

func logInViewController(logInController: PFLogInViewController!, didLogInUser user: PFUser!) {
    self.dismissViewControllerAnimated(true, completion: nil)
    self.navigationController?.popToRootViewControllerAnimated(true)
}

func logInViewControllerDidCancelLogIn(controller: PFLogInViewController) -> Void {
    self.dismissViewControllerAnimated(true, completion: nil)
}

/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.
}
*/
}

这次的不同之处在于我不只是继承PFLoginViewController,而是在LoginViewController中创建PFLoginView。然后我解雇视图,然后简单地使用路由到根视图。

感谢您的帮助!