基于iOS的APP“好妈妈”开发日志十四——关于UIAlertController自动消失并跳转至下一页面

本文详细介绍了基于iOS的APP“好妈妈”中利用UIAlertController实现注册流程的方法。通过注册按钮点击事件,使用leancloud进行用户注册,并在注册成功后自动跳转至Tabbar页面。文中还分享了如何通过多层试图嵌套弹出即消失的技术实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于iOS的APP“好妈妈”开发日志十四——关于UIAlertController自动消失并跳转至下一页面

基于leancloud的注册系统

    //注册按钮点击
    @objc func loginConfrim(){
        //收起键盘
        self.view.endEditing(true)
        
        let user = LCUser()
        
        user.username = LCString(txtUser.text!)
        user.password = LCString(txtPwd.text!)
        print("**************************************")
        user.signUp { (x) in//注册
            if let error=x.error
            {
                self.present(self.alert, animated: true, completion: nil)//登录失败弹出提示框
                print(error.code)
            }
            else{
                print("signUp sucess")
                self.present(self.alertSucceed, animated: true, completion: nil)//登录成功弹出提示框
                DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1) {//延迟函数
                    LCUser.logIn(username: self.txtUser.text!, password: self.txtPwd.text!) { result in//注册成功后就登录
                        switch result {
                        case .success(let user):
                            print("Login succeed")
                            //登录成功则弹出下一页面Tabbar
                            let first = self.storyboard//A视图
                            let thirdView:UIViewController = (first?.instantiateViewController(withIdentifier: "TarBar"))!
                            self.alertSucceed.present(thirdView, animated: true, completion: nil)//由B视图弹出C
                            thirdView.presentedViewController?.dismiss(animated: false, completion: nil)
                            break
                        case .failure(let error):
                            self.present(self.alert, animated: true, completion: nil)//登录失败弹出提示框
                            print(error)
                        }
                    }
                }
            }
        }
    }

简单地说就是A视图先弹出Alert(B视图),然后在延时函数里由Alert弹出C页面,弹出后再用C的presented.dismiss使A和B消失。

多层view试图嵌套弹出即消失参考文章《iOS 聊聊present和dismiss》https://www.jianshu.com/p/455d5f0b3656

luhh!?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值