[英]iOS Custom Facebook Login Button with New Firebase
如何获得自定义Facebook登录按钮以使用新的firebase?
根据新的firebase文档,它让我们创建一个FBSDKLoginButton并设置它的委托。 FBSDKLoginButton在外观方面无法自定义。
只需创建自定义UIButton并将其连接到以下方法即可。
在此处阅读有关facebook-login的自定义按钮的更多信息: https : //developers.facebook.com/docs/facebook-login/ios#custom-login-button
#import <FBSDKLoginKit/FBSDKLoginKit.h>
- (IBAction)facebookLoginPressed:(id)sender{
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login
logInWithReadPermissions: @[@"public_profile"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
NSLog(@"Process error");
} else if (result.isCancelled) {
NSLog(@"Cancelled");
} else {
NSLog(@"Logged in");
FIRAuthCredential *credential = [FIRFacebookAuthProvider credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
}
}];
}
在尝试了一段时间之后,我发现一个很好的工作,对你和其他想要实现相同目标的人有用。 这假设您已经将每个Firebase文档的Facebook按钮集成到您的项目中,并在您的控制器中为其创建了IBOutlet按钮。
首先,将自定义图像或按钮添加到视图中。 就我而言,它是一个图像。 您还可以将现有FB按钮设置为隐藏。
接下来,通过在自定义按钮或图像上拖放UITapGestureRecognizer对象来添加UITapGestureRecognizer对象。
不要忘记将图像设置为启用用户交互!
接下来,将UITapGestureRecognizer从故事板添加到控制器,作为具有UITapGestureRecognizer类型的操作。
最后,在此IBAction内部执行以下操作以触发现有Firebase FBLoginButton。
@IBAction func customFBButtonPressed(_ sender: UITapGestureRecognizer) {
//Reference and fire the original fbLoginButton that you already set up.
fbLoginButton.sendActions(for: .touchUpInside)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.