【发布时间】:2017-09-10 16:31:45
【问题描述】:
我是 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)
}
}
【问题讨论】:
-
除了下面给出的答案之外,我认为您可以在情节提要中做到这一点。只需搜索 navigationItemLeft 之类的。
-
删除指定左栏按钮项的代码部分或将其设置为零。
-
@TylerRutt 我以编程方式使用此取消按钮创建视图控制器。我使用 FirebaseUI-iOS。在这种情况下,我不确定是否必须删除按钮。我用代码更新了我的问题。有什么想法吗?
-
你试过
self.navigationItem.setHidesBackButton(true, animated: false) -
@TylerRutt 是的,我试过了。它没有帮助。我很确定我必须在 loginSession 中调用一些方法或更改 authViewController 实例的属性。但到目前为止,我还没有找到要更改的内容。
标签: ios swift firebase firebase-authentication firebaseui