[英]FirebaseUI iOS remove cancel button
我是iOS開發的新手。 我想用Firebase建立授權。 我正在使用FirebaseUI-iOS。 我想隱藏初始屏幕上的取消按鈕。 你有什么想法怎么做嗎?
我以編程方式創建Firebase authViewController:
import UIKit
import Firebase
import FirebaseAuthUI
import FirebaseGoogleAuthUI
class AuthViewController: UIViewController {
fileprivate var _authHandle: FIRAuthStateDidChangeListenerHandle!
var user: FIRUser?
override func viewDidLoad() {
super.viewDidLoad()
configureAuth()
}
func configureAuth() {
let provider: [FUIAuthProvider] = [FUIGoogleAuth()]
FUIAuth.defaultAuthUI()?.providers = provider
FUIAuth.defaultAuthUI()?.isSignInWithEmailHidden = true
// listen for changes in the authorization state
_authHandle = FIRAuth.auth()?.addStateDidChangeListener { (auth: FIRAuth, user: FIRUser?) in
// check if there is a current user
if let activeUser = user {
// check if the current app user is the current FIRUser
if self.user != activeUser {
self.user = activeUser
let name = user!.email!.components(separatedBy: "@")[0]
print(name)
}
} else {
// user must sign in
self.loginSession()
}
}
}
func loginSession() {
let authViewController = FUIAuth.defaultAuthUI()!.authViewController()
present(authViewController, animated: true, completion: nil)
}
deinit {
FIRAuth.auth()?.removeStateDidChangeListener(_authHandle)
}
}
擴展VC並將其添加到viewWillAppear中
extension FUIAuthBaseViewController{
open override func viewWillAppear(_ animated: Bool) {
self.navigationItem.leftBarButtonItem = nil
}
}
為此,您可以在viewDidLoad
或viewWillAppear
leftBarButtonItem
設置為nil
。
self.navigationItem.leftBarButtonItem = nil
你應該設置
FUIAuth.defaultAuthUI()?.shouldHideCancelButton = true
在Objective C中,只需擴展FUIAuthPickerView控制器即可。
在此擴展選取器視圖的ViewDidLoad中,添加以下兩行:
self.navigationController.navigationItem.hidesBackButton = NO;
[[self navigationItem] setLeftBarButtonItem:nil];
請注意,在您實例化Auth UI的文件中,您將需要以下方法:
- (FUIAuthPickerViewController *)authPickerViewControllerForAuthUI:(FUIAuth *)authUI {
return [[FUICustomAuthPickerViewController alloc] initWithAuthUI:authUI];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.