iOS返回前N个页面 包括侧滑返回

开发中会遇到一些返回前N个页面的问题 比如页面从A-B-C-D,又有E-D,F-D等多种情况的跳转,各种跳转到D页面的情况下,D页面的返回按钮的操作是不一样的  可能第一种从D直接返回A,第二种第三种只是简单的pop回上一个页面,这种情况下就需要在D页面去区分来源 

我之前的做法是定义一个枚举  把情况罗列出来


然后D页面暴露一个属性去区分来源


然后在返回按钮的事件里面去处理各种情况



然而  遇到的问题就是  返回按钮还好,但是侧滑的话是默认返回上一个页面的,所以考虑把侧滑禁止了,但是却心有不甘 。。。。

如果想侧滑也返回指定页面的话  就需要操作下navigationController.viewControllers这个数组


原理就是把一些不符合返回条件的页面从navigationController.viewControllers移除掉了,当然也要根据枚举去分情况移除  这个方法不是写在返回按钮的操作里的

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,946评论 1 180
  • 这才知道岁月漫长 有太多回不去的故乡也不叫远方
    温啊阅读 955评论 0 0
  • 热辣的太阳&逐渐变热的天气,让不少家长都给宝宝换上了清凉的开裆裤,可是小屁屁都裸露在外面,你就不担心疾病可能会找上...
    9d072a11f55d阅读 2,999评论 0 0
  • 一曲忧愁敬闲庭,轻衫揽墨画中行。 他乡素月熏新桂,陌路金风扰残铃。
    繁华倦客阅读 1,566评论 0 0
  • 10年前,一个原本过着简单幸福的生活的“守法公民”,却被暴徒残害得家破人亡。而凶手却未被严惩,背后的黑幕男主看在眼...
    X战喵阅读 3,486评论 0 3