iOS如何在頁面中隨意穿插跳躍,push來pop去

解決方法如下:
1.假如此時在 A 控制器下贰健,想要到 push 到 B廓俭, 可以這樣寫
[self.navigationController pushViewController: B :YES];

這時 self.navigationController.viewControllers中按順序含有 [A闯捎,B]

2.此時已經(jīng)到 B 控制器下了妖碉, 接下來是 push 到 D, 可以這樣寫
[self.navigationController pushViewController: D :YES];

這時 self.navigationController.viewControllers中按順序含有 [A忽肛,B法严,D]
接下來很重要损敷,很重要,很重要
如何想從 D pop 到 C, 看數(shù)組[A深啤,B拗馒,D] 中壓根就沒有C 該如何pop 到C呢?
這時就需要對這個數(shù)組進(jìn)行修改溯街,將C 加入進(jìn)去
于是 你會如下寫:
[self.navigationController.viewControllers addObject:C];
發(fā)現(xiàn)報錯诱桂,這是因?yàn)閟elf.navigationController.viewControllers是不可變數(shù)組洋丐,沒辦法了,我們只好轉(zhuǎn)換一下了:

NSMutableArray*tempMarr = [NSMutableArrayarrayWithArray:self.navigationController.viewControllers];

此時再加入C 就容易多了挥等,咦友绝,聰明的你會發(fā)現(xiàn)從 D pop C 不能直接將 C直接 addObject;
當(dāng)然,我會這樣做:

[tempMarr insertObject:C atIndex:tempMarr.count- 2];

這時候 tempMarr是這樣的 [A肝劲,B迁客,C,D], 可是 要想 從 C pop 到 A ,數(shù)組中就不能有 B,就需要 將tempMarr變成 [A辞槐,C掷漱,D] ,至于怎么變榄檬,你比我懂得多 , 懂得思考的同學(xué)會發(fā)現(xiàn) 這時的self.navigationController.viewControllers
依然是 [A卜范,B,D]丙号, 不用急先朦,不用怕navigationController
有這樣一個方法, 可以搞定,如下:

[self.navigationController setViewControllers:tempMarr animated:YES];

有的同學(xué)會說犬缨,這不是直接把 B 替換 成 C 嗎
看上去是這樣喳魏,可是跳轉(zhuǎn)的時機(jī),時機(jī)怀薛,時機(jī)重要的事情說三遍刺彩,還有視圖的切換,切換枝恋,切換
此時還在 B 控制器中创倔,這些處理過程都是在 B 中處理的 , 也必須是 B 執(zhí)行了 push 到 D 方法后焚碌,也就是說

[self.navigationController pushViewController:D animated:YES];```

之后 進(jìn)行的 數(shù)組處理畦攘;
附加代碼:
在B 控制器中處理:

-(void)pushTest {
[self.navigationController pushViewController:D animated:YES];
NSMutableArray*tempMarr =[NSMutableArrayarrayWithArray:self.navigationController.viewControllers];
[tempMarr insertObject:C atIndex:tempMarr.count- 2];
[tempMarr removeObject:self]; //此時 的self 就是指 B ,因?yàn)樵?B 中呢
[self.navigationController setViewControllers:tempMarr animated:YES];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市十电,隨后出現(xiàn)的幾起案子知押,更是在濱河造成了極大的恐慌,老刑警劉巖鹃骂,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件台盯,死亡現(xiàn)場離奇詭異,居然都是意外死亡畏线,警方通過查閱死者的電腦和手機(jī)静盅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寝殴,“玉大人蒿叠,你說我怎么就攤上這事明垢。” “怎么了栈虚?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵袖外,是天一觀的道長。 經(jīng)常有香客問我魂务,道長曼验,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任粘姜,我火速辦了婚禮鬓照,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘孤紧。我一直安慰自己豺裆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布号显。 她就那樣靜靜地躺著臭猜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪押蚤。 梳的紋絲不亂的頭發(fā)上蔑歌,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音揽碘,去河邊找鬼次屠。 笑死,一個胖子當(dāng)著我的面吹牛雳刺,可吹牛的內(nèi)容都是我干的劫灶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼掖桦,長吁一口氣:“原來是場噩夢啊……” “哼本昏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起枪汪,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤涌穆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后料饥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朱监,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年岸啡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赫编。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡巡蘸,死狀恐怖奋隶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悦荒,我是刑警寧澤唯欣,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站搬味,受9級特大地震影響境氢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碰纬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一萍聊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧悦析,春花似錦寿桨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至骑歹,卻和暖如春预烙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背陵刹。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工默伍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人衰琐。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓也糊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親羡宙。 傳聞我的和親對象是個殘疾皇子狸剃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容

  • iOS如何隨意的穿插跳躍匿刮,push來pop去僧凰? 主題思想:如A、B熟丸、C训措、D 四個視圖控制器。 想要在 A push...
    mingxinnian閱讀 297評論 1 1
  • iOS 導(dǎo)航控制器如何隨意push和pop 第一次開始寫技術(shù)文章,請同學(xué)們多多關(guān)照绩鸣,有錯的地方請給我指出怀大,大家學(xué)習(xí)...
    Ashen閱讀 5,820評論 11 30
  • 主題思想:如A、B呀闻、C化借、D 四個視圖控制器 想要在 A push B 后, B 在push 到 D 捡多,然后從 D ...
    Lsx_f閱讀 282評論 2 2
  • *7月8日上午 N:Block :跟一個函數(shù)塊差不多蓖康,會對里面所有的內(nèi)容的引用計數(shù)+1,想要解決就用__block...
    炙冰閱讀 2,492評論 1 14
  • 1) 物理層定義了網(wǎng)絡(luò)的物理結(jié)構(gòu)局服、傳輸?shù)碾姶艠?biāo)準(zhǔn)钓瞭、Bit流的編碼及網(wǎng)絡(luò)的時間原則。2)數(shù)據(jù)鏈路層在兩個主機(jī)上建立數(shù)...
    吃肉666閱讀 1,873評論 0 1