开发中会遇到一些返回前N个页面的问题 比如页面从A-B-C-D,又有E-D,F-D等多种情况的跳转,各种跳转到D页面的情况下,D页面的返回按钮的操作是不一样的 可能第一种从D直接返回A,第二种第三种只是简单的pop回上一个页面,这种情况下就需要在D页面去区分来源
我之前的做法是定义一个枚举 把情况罗列出来
然后D页面暴露一个属性去区分来源
然后在返回按钮的事件里面去处理各种情况
然而 遇到的问题就是 返回按钮还好,但是侧滑的话是默认返回上一个页面的,所以考虑把侧滑禁止了,但是却心有不甘 。。。。
如果想侧滑也返回指定页面的话 就需要操作下navigationController.viewControllers这个数组
原理就是把一些不符合返回条件的页面从navigationController.viewControllers移除掉了,当然也要根据枚举去分情况移除 这个方法不是写在返回按钮的操作里的