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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第八天,这次觉得成功的几率会很大。还是会时常想起,但是欲望不似那么强烈。只是心情低落,有些暴躁易怒。现在想见你一面...
    海边的桃源阅读 1,306评论 0 0
  • 2018-8-29 星期三 晴 同事微信我他昨天去面试了,早就想离开公司,这...
    沈玲琴阅读 1,472评论 0 0
  • 由,读——书——日,想到的小感慨。 前两天是国际读书日,看到很多人、很多企业玩出各种读书活动的“花儿”。买书、读书...
    书香云舍阅读 3,547评论 2 7
  • 韩庚生日当天公布恋情的过程想必大家都知道了,以一句“你好,34岁。你好,我的女孩”作为自己的恋爱通告发布了出去,并...
    娱扒乩阅读 1,765评论 0 0
  • 妈妈今天有事休息了,说带着我和姐姐回老家看看的,很长时间没有回老家了,回到家里一看院子里的草啊!妈妈拔草,姐姐写作...
    淡博_bec4阅读 3,064评论 0 0

友情链接更多精彩内容