你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS完成先無動畫pop再push,交換以後控制器

iOS完成先無動畫pop再push,交換以後控制器

編輯:IOS開發綜合

IOS完成先無動畫pop再push,交換以後控制器

IOS開發中會遇到添加成功,發送成功……相似狀況,需求先將push前的頁面移除調。假如直接調用pop,立即去push。假如這兩個命令寫在同一個控制器中,則會發現push基本沒有被執行……由於pop曾經將該控制器移除,push基本沒無機會執行。也可以在上一個控制器經過代理/告訴/閉包等操作——沒有親測,覺得費事。

所以就選擇了上面的辦法,先移除路由棧中以後控制器,再新增新的控制器,最後賦值。

廢話不多說,直接上代碼:
         // 新建將要push的控制器
        NewViewController *newVC = [[NewViewController alloc] init];

         // 獲取以後路由的控制器數組
        NSMutableArray *vcArray = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];

        // 打印以後路由的控制器數組
        NSLog(@"==the vcArray is %@", vcArray);

        // 獲取檔期控制器在路由的地位
        int index = (int)[vcArray indexOfObject:self];

        // 移除以後路由器
        [vcArray removeObjectAtIndex:index];

        // 添加新控制器
        [vcArray addObject: newVC];

        // 打印新增後的控制器數組
        NSLog(@"==the vcArray is %@", vcArray);

        // 重新設置以後導航控制器的路由數組
        [self.navigationController setViewControllers:vcArray animated:YES];

        // over 有其他好辦法歡送一同學習。

【iOS完成先無動畫pop再push,交換以後控制器】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved