開發中會遇到一些返回前N個頁面的問題 比如頁面從A-B-C-D,又有E-D,F-D等多種情況的跳轉,各種跳轉到D頁面的情況下,D頁面的返回按鈕的操作是不一樣的? 可能第一種從D直接返回A,第二種第三種只是簡單的pop回上一個頁面,這種情況下就需要在D頁面去區分來源?
我之前的做法是定義一個枚舉? 把情況羅列出來
然后D頁面暴露一個屬性去區分來源
然后在返回按鈕的事件里面去處理各種情況
然而? 遇到的問題就是? 返回按鈕還好,但是側滑的話是默認返回上一個頁面的,所以考慮把側滑禁止了,但是卻心有不甘 。。。。
如果想側滑也返回指定頁面的話? 就需要操作下navigationController.viewControllers這個數組
原理就是把一些不符合返回條件的頁面從navigationController.viewControllers移除掉了,當然也要根據枚舉去分情況移除? 這個方法不是寫在返回按鈕的操作里的