ios – FacebookSDK(4.1.x)自定义登录UI按钮 – Swift(1.2)

this tutorial之后,我设法使Facebook登录按钮工作.但是,它会自动从SDK中分配按钮图像,而且不能自定义(因为它没有在Storyboard上创建),所以我无法使用自己的按钮图像或文本.

我相信这部分代码(在ViewDidLoad中)是分配按钮:

let loginView : FBSDKLoginButton = FBSDKLoginButton()
        self.view.addSubview(loginView)
        loginView.center = self.view.center
        loginView.readPermissions = ["public_profile","email"]
        loginView.delegate = self

我需要做的是在Storyboard上创建一个@IBOutlet按钮并从那里进行自定义.我怎样才能做到这一点?

解决方法

使用自定义按钮和访问令牌登录.

在facebook sdk 4.x中获取用户信息

迅速

@IBAction func btnFBLoginpressed(sender: AnyObject) {
    var fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
    fbLoginManager.logInWithReadPermissions(["email"],fromViewController: self,handler: { (result,error) -> Void in
        if (error == nil){
            var fbloginresult : FBSDKLoginManagerLoginResult = result
            if(fbloginresult.grantedPermissions.contains("email"))
            {
                self.getFBUserData()
                fbLoginManager.logout()
            }
        }
    })
}

func getFBUserData(){
    if((FBSDKAccesstoken.currentAccesstoken()) != nil){
        FBSDKGraphRequest(graPHPath: "me",parameters: ["fields": "id,name,first_name,last_name,picture.type(large),email"]).startWithCompletionHandler({ (connection,result,error) -> Void in
            if (error == nil){
                println(result)
            }
        })
    }
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...