美文网首页
iOS 多个模态视图相互跳转

iOS 多个模态视图相互跳转

作者: 131413 | 来源:发表于2018-08-06 09:56 被阅读0次

    这次的需求是扫码验证功能,需要一个扫码界面,一个输入界面,一个验证成功界面相互跳转。因为两两界面都存在相互跳转,并且界面的UI类似弹窗格式,所以我打算用模态跳转方法实现。实现思路是:跳转时,先dissmiss当前的,用当前视图的presentingViewController模态出下一个界面。

    到这我们先了解下一个模态出的视图的presentingViewController和presentedViewController,

     A->B 则B的presentingViewController是A, A的presentedViewController是B
    

    以下是示意代码

    - (void)presentSuccVC:(ProofSuccModel *)model{
        [self dismissViewControllerAnimated:NO completion:nil];
        ProofSuccViewController *vc = [[ProofSuccViewController alloc]init];
        vc.modalPresentationStyle = UIModalPresentationOverCurrentContext;
        vc.model = model;
        [self.presentingViewController presentViewController:vc animated:YES completion:nil];
    }
    

    在开发中还有一种情况就是展开出多个视图,然后全部返回,我们知道如果是push的话,可以直接用返回rootViewCtroller的方法,而模态没有这种方法我们应该怎么做呢

    - (void)dismiss:(id)sender
    {
        if (self.navigationController.presentingViewController) {
            [self.navigationController dismissViewControllerAnimated:YES completion:nil];
        }else{
            [self.navigationController popViewControllerAnimated:YES];
        }
        
    }
    

    相关文章

      网友评论

          本文标题:iOS 多个模态视图相互跳转

          本文链接:https://www.haomeiwen.com/subject/cjokyftx.html