關(guān)于側(cè)滑返回指定頁面

產(chǎn)品提出了一個需求,返回和側(cè)滑返回都返回首頁,返回就將返回按鈕的觸發(fā)事件定義為返回首頁即可,側(cè)滑返回,只要將目標控制器和當前控制器中間的控制器刪除即可實現(xiàn),我們在viewDidLoad中定義這個方法即可

       //在需要側(cè)滑到指定控制器的控制器的 view 加載完畢后偷偷將當前控制器與目標控制器之間的所有控制器出棧
     //# 1. 獲取當行控制器所有子控制器
     NSMutableArray <UIViewController *>* tmp = self.navigationController.viewControllers.mutableCopy;
    // # 2. 獲取目標控制器索引
     UIViewController * targetVC = nil;
       for (NSInteger i = 0 ; i < tmp.count; i++) {
           
           UIViewController * vc = tmp[i];
           if ([vc isKindOfClass:NSClassFromString(@"HomePageViewController")])
           {
               targetVC = vc;
               // 也可在此直接獲取 i 的數(shù)值
               break;
           }
       }
     NSInteger index = [tmp indexOfObject:targetVC];
    // # 3. 移除目標控制器與當前控制器之間的所有控制器
     NSRange  range = NSMakeRange(index + 1, tmp.count - 1 - (index + 1));
       
     [tmp removeObjectsInRange:range];
    // # 4. 重新賦值給導(dǎo)航控制器
     self.navigationController.viewControllers = [tmp copy];
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容