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

标签 ios facebook swift

正在关注 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 Button 并从那里自定义它。我该怎么做?

最佳答案

使用自定义按钮和访问 token 登录。

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

swift

@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)
            }
        })
    }
}

关于ios - FacebookSDK(4.1.x) 自定义登录 UI 按钮 - Swift(1.2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634269/

相关文章:

ios - 在 iOS 中使用 SFPro 字体

iphone - 添加 CHCSVPARSER 时出现错误

ios - FBRequestDelegate didReceiveResponse 如何找出这个响应是针对什么请求的

ios - 迁移 iOS SDK 的 Facebook 身份验证凭据

ios - locationManager didExitRegion 或 locationManager didEnterRegion 从未调用

javascript - 在提交表单之前更改数据

ios - Collection View定位像instagram app swift

Swift 4 使用 Alamofire 和 Codable 编写发布请求

swift - 如何使用递归在 Swift Playground 中打印斐波那契数列

ios - 如何更改我的配置文件?