美文网首页swift学习
IOS 手势按钮返回指定界面(OC和Swift)

IOS 手势按钮返回指定界面(OC和Swift)

作者: Hahn_z | 来源:发表于2019-12-09 15:57 被阅读0次

    OC传送门
    Swift传送门

    网上查看了一下、返回指定界面是通过popToViewController方法返回的
    但是通过popToViewController方法返回手势返回的时候是不行的

    OC

        /**
        通过循环找到指定控制器返回
        @param MainViewController 返回的指定控制器
        */
        
        for (UIViewController *vc in self.navigationController.viewControllers) {
            if ([vc isKindOfClass:[MainViewController class]]) {
                [self.navigationController popToViewController:vc animated:YES];
            }
        }
    

    Swift

            /**
            通过循环找到指定控制器返回
            @param MainViewController 返回的指定控制器
            */
            
            for vc in (self.navigationController?.viewControllers)! {
                if vc.isKind(of: MainViewController.self) {
                    self.navigationController?.popToViewController(vc, animated: true)
                }
            }
    

    效果图


    1.gif

    可以通过循环找指定的控制器、删除它、还可以让手势和按钮返回指定界面

    OC

        /**
        通过循环找到指定控制器删除
        @param ViewController1 返回的指定控制器
        */
        
        for (UIViewController *vc in self.navigationController.viewControllers) {
            if ([vc isKindOfClass:[ViewController1 class]]) {
                [vc removeFromParentViewController];
            }
        }
    

    Swift

            /**
            通过循环找到指定控制器删除
            @param ViewController1 返回的指定控制器
            */
            for vc in (self.navigationController?.viewControllers)! {
                if vc.isKind(of: ViewController1.self) {
                    vc.removeFromParent()
                }
            }
    

    效果图


    2.gif

    PS: 当你自定义系统导航栏返回按钮的时候、需要重写一下UINavigationController
    不然没有办法手势返回
    具体请看demo

    相关文章

      网友评论

        本文标题:IOS 手势按钮返回指定界面(OC和Swift)

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