FacebookSDK(4.1.x)自定义登录UI按钮 - Swift(1.2) [英] FacebookSDK(4.1.x) Custom Login UI Button - Swift(1.2)
问题描述
遵循本教程,我设法使一个Facebook登录按钮工作。但是,它是从SDK自动分配按钮图像,它不可自定义(因为它没有在故事板上创建),所以我无法使用我自己的按钮图像或文本。
Following this tutorial, I have managed to make a Facebook Login Button working. However, it is assigning the button image automatically from the SDK and it is not customisable (as it is not getting created on Storyboard), so I am unable to use my own button image or text instead.
我相信这部分代码(在ViewDidLoad中)正在分配按钮:
I believe this part of the code (in ViewDidLoad) is assigning the button:
let loginView : FBSDKLoginButton = FBSDKLoginButton()
self.view.addSubview(loginView)
loginView.center = self.view.center
loginView.readPermissions = ["public_profile", "email"]
loginView.delegate = self
我需要做的是在Storyboard上创建一个@IBOutlet按钮并自定义它从那里如何做到这一点?
What I need to do is creating a @IBOutlet Button on Storyboard and customise it from there. How can I do that?
推荐答案
使用自定义按钮和访问令牌进行登录
Login with custom button and access token.
在Facebook sdk中获取用户信息4.x
Get user info in facebook sdk 4.x
@IBAction func btnFBLoginPressed(sender: AnyObject) {
var fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager .logInWithReadPermissions(["email"], 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)
}
})
}
}
这篇关于FacebookSDK(4.1.x)自定义登录UI按钮 - Swift(1.2)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!