UIAlert后Swift 3从结构中解聘
对斯威夫特来说还是个新手,我时不时地会遇到一些问题,试图回避这些问题……:) 现在我已经创建了一个结构来管理用户登录、注册和恢复passowrd 这部分代码让我抓狂UIAlert后Swift 3从结构中解聘,swift,swift3,uiviewcontroller,dismiss,Swift,Swift3,Uiviewcontroller,Dismiss,对斯威夫特来说还是个新手,我时不时地会遇到一些问题,试图回避这些问题……:) 现在我已经创建了一个结构来管理用户登录、注册和恢复passowrd 这部分代码让我抓狂 struct NetworkingService { var dataBaseRef: FIRDatabaseReference!{ return FIRDatabase.database().reference() } var storageRef: FIRStorageReference { return FI
struct NetworkingService {
var dataBaseRef: FIRDatabaseReference!{
return FIRDatabase.database().reference()
}
var storageRef: FIRStorageReference {
return FIRStorage.storage().reference()
}
--------------------------------------------
// Reset Password
func resetpassword(email: String){
FIRAuth.auth()?.sendPasswordReset(withEmail: email, completion: { (error) in
if error == nil{
let alertView = UIAlertController(title: "SUCCESS!", message: "We have sent an email to \(email) with the information on how to reset your password. Thank you!", preferredStyle: UIAlertControllerStyle.alert)
alertView.addAction(UIAlertAction(title: "OK", style: .default) { (action:UIAlertAction!) in
})
UIApplication.shared.keyWindow?.rootViewController?.present(alertView, animated: true, completion: nil)
} else{
let alertView = UIAlertController(title: "Error!", message: "Error:\(error!.localizedDescription)", preferredStyle: UIAlertControllerStyle.alert)
alertView.addAction(UIAlertAction(title: "OK", style: .default) { (action:UIAlertAction!) in
})
UIApplication.shared.keyWindow?.rootViewController?.present(alertView, animated: true, completion: nil)
}
})
}
在我的控制器中,我有一个简单的按钮,叫做func
ResetPasswordVC{
@IBOutlet weak var emailTextField: UITextField!
var networkingService = NetworkingService()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func resetPasswordPressed(_ sender: Any) {
networkingService.resetpassword(email: emailTextField.text!)
}
我试图做的是在用户成功重置密码后(基本上是在没有错误并且他在警报上单击了ok的情况下),关闭视图并返回到上一个viewController
问题:无法在结构中使用Disclose。我尝试了多个解决方案,但均无效。。。。
我试过这个:
let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let loginVC = storyBoard.instantiateViewController(withIdentifier: "LoginVC") as! LoginVC
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window?.rootViewController = loginVC
但我不能使用任何动画(因此效果非常难看),真正的问题是LoginVC是一个选项卡式视图,当我像这样返回时,底部的选项卡栏就不会显示。。。
我已经浪费了几乎一整天的时间…我真的不知道还有什么可以尝试。。。
希望有人能帮助我!
如果我写了一些愚蠢的东西…请原谅我…就像我说的我是个新手…:D
Thx!我以前遇到过类似的问题,你需要做的是显示Tabbar控制器并正确设置它的选项卡,而不是只显示LoginVC,否则,底部的Tabbar将消失Thx以获得答案…但是像那样,我仍然没有得到动画…有办法添加它吗?不幸的是,没有t直接。我可能建议的是有一个弹出窗口,它只是一个加载轮,然后在切换视图后将其删除。但是,还有许多其他方式来显示动画(Y)。如果我这样做…它会显示第一个选项卡…我正试图显示回登录,这是我的第三个选项卡(前两个只是一些带有新闻的表格)没问题,你可以做tabbar.selectedIndex=2(或从0开始的任何索引),其中tabbar是你的UITabBarController。太棒了!它工作了…我不知道它!thx!现在我将考虑如何添加动画,它是完美的!:)thx!