如何在使用Facebook登录后立即拨打segue / unwind

时间:2015-11-24 17:30:10

标签: swift parse-platform facebook-login

我创建了一个包含3个文本字段(用户名,电子邮件,密码)的登录屏幕。有3个动作按钮(注册,登录,Facebook登录)。

我能够使用Facebook帐户登录,但我似乎无法呈现用户的详细信息,此类名称和个人资料图片..我试图在currentviewcontroller或destinationVC上显示它但我想我我对segue和Facebook做错了什么

import UIKit
import Parse 
import FBSDKCoreKit
import ParseFacebookUtilsV4

var myAlert = ""
var user = PFObject(className:"User")
class ViewController: UIViewController, UITextFieldDelegate {

@IBOutlet var userName: UITextField!
@IBOutlet var email: UITextField!
@IBOutlet var passWord: UITextField!

@IBOutlet weak var userlab: UILabel!
let permissions = ["public_profile", "user_friends", "email"]


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.


    self.userName.delegate = self
    self.email.delegate = self
    self.passWord.delegate = self

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


@IBAction func LogInToFacebook(sender: AnyObject) {

    PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions) {
        (user: PFUser?, error: NSError?) -> Void in
        if let user = user {
            if user.isNew {
                print("User signed up and logged in through Facebook!")


                self.userlab.text = PFUser.currentUser()?.username

                self.performSegueWithIdentifier("CSegue", sender: self)

            } else {
                print("User logged in through Facebook!")
                //self.image = UIImage(named: "logout_FB.png")!
                self.userlab.text = PFUser.currentUser()?.username

                //self.fbOutlet.setImage(self.image, forState: UIControlState.Normal)
                self.performSegueWithIdentifier("CSegue", sender: self)

            }
        } else {
            print("Uh oh. The user cancelled the Facebook login.")
        }
    }
}

在destinationVC(HomeVC)我刚创建了3个标签

import UIKit
import Parse
import FBSDKCoreKit
import ParseFacebookUtilsV4

class HomeVC: UIViewController {

@IBOutlet weak var userNamelabel: UILabel!

var user: PFUser!

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "LogInToFacebook" {
         user = PFUser.currentUser()

        userNamelabel.text = user.username

    }
}

这就是我想要使用的segue:

override func perform() {

    let sourceViewController: UIViewController = self.sourceViewController
    let destinationViewController: UIViewController = self.destinationViewController

    user = PFUser.currentUser()!

    sourceViewController.view.addSubview(destinationViewController.view)

    destinationViewController.view.transform = CGAffineTransformMakeScale(0.05, 0.05)

    UIView.animateWithDuration(0.5, delay: 0.0, options: UIViewAnimationOptions.CurveEaseInOut, animations: { () -> Void in


        destinationViewController.view.transform = CGAffineTransformMakeScale(1.0, 1.0)

        }) { (finished) -> Void in

            destinationViewController.view.removeFromSuperview()
            sourceViewController.presentViewController(destinationViewController, animated: false, completion: nil)

    }



}

0 个答案:

没有答案