- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用自定义按钮、自定义操作、背景、加载器等自定义 Firebase UI Auth Picker Controller 。
我已经尝试子类化 FUIAuthPickerViewController
但我们无法访问登录按钮
最佳答案
这是您可以创建自己的 FUIAuthPickerViewController
类的方法:
创建 FUICustomLoginController.swift:
import UIKit
import FirebaseUI
import FirebaseAuth
class FUICustomLoginController: ViewController {
var authUI: FUIAuth! = FUIAuth.defaultAuthUI()
var auth: Auth = Auth.auth()
private func didSignIn(auth: AuthCredential?, error: Error?, callBack: AuthResultCallback?) {
let callBack: (AuthDataResult?, Error?) -> Void = { [unowned self] result, error in
callBack?(result?.user, error)
self.authUI.delegate?.authUI?(self.authUI, didSignInWith: result, error: error)
}
if let auth = auth {
self.auth.signInAndRetrieveData(with: auth, completion: callBack)
} else if let error = error {
callBack(nil, error)
}
}
func signIn<T: FUIAuthProvider>(type: T.Type, defaultValue: String? = nil) {
try? self.authUI.signOut() // logout from google etc..
self.authUI.providers.first(where: { $0 is T })?.signIn(withDefaultValue: defaultValue, presenting: self, completion: self.didSignIn)
}
}
从 FUICustomLoginController 继承你的 Controller :
class LoginPickerController: FUICustomLoginController {
override func viewDidLoad() {
super.viewDidLoad()
// Customize authUI if needed
//self.authUI.providers = ...
self.authUI.delegate = self
}
@IBAction func loginFacebook(_ sender: Any) {
self.signIn(type: FUIFacebookAuth.self)
}
@IBAction func loginGoogle(_ sender: Any) {
self.signIn(type: FUIGoogleAuth.self)
}
@IBAction func loginPhone(_ sender: Any) {
self.signIn(type: FUIPhoneAuth.self)
}
}
extension LoginPickerController: FUIAuthDelegate {
func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) {
// perform login actions
}
}
关于ios - 自定义 FUIAuthPickerViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51706475/
如何使用自定义按钮、自定义操作、背景、加载器等自定义 Firebase UI Auth Picker Controller 。 我已经尝试子类化 FUIAuthPickerViewController
因此,我出于自定义目的对 FUIAuthPickerViewController 进行了子类化,但无法显示背景。将 Firebase Pod 更新到最新版本后开始发生这种情况(在之前的版本上运行良好)
我正在尝试自定义 FUIAuthPickerViewController 以便我可以使用 FirebaseUI 身份验证将自定义身份验证屏幕作为我的登录屏幕 *** Terminating app d
我能在网上找到的唯一相关问题是 GitHub 上的问题报告: https://github.com/firebase/FirebaseUI-iOS/issues/128 然而,似乎没有任何解决办法。
我是一名优秀的程序员,十分优秀!