看板 MacDev 關於我們 聯絡資訊
想請問各位一個程式呼叫流程的問題 例如: facebook ios app 一開始全新的用戶會從主頁到登入頁面 再進入到設定資料頁面 再從設定資料頁面進入其它設定頁面 ...(以此類推很多頁面) 那這樣的不就一直 present view controller 很多次造成如下的情況 (虛線箭頭表示 [presentViewController: animated: completion:]) 主要頁面---> 登入頁面 ---> 設定頁面1 ---> ... ---> 設定頁面n -->註冊完畢頁面 a b c n z 好不容易註冊完畢後那我就要寫如下的程式碼回到主要頁面 定義 x^y = [viewControllerX dismissViewController: animated: comletion:^{ [viewControllerY dismissViewController ...] }]; 寫成: a^(b^(c^(...^(n^(z))))) 才會回到原本的主要頁面嗎? (就是 presentVC好幾次後,才一次全部dismissVC) 這樣是正常的嗎? 我個人是比較想要寫成 (即換頁就dismiss該頁面,再present新頁面) 主要頁面 ----> present 登入頁面 ----> dismiss 登入頁面 ----> 設定頁面1 ----> dismiss 設定頁面1 ......... ----> 註冊完畢頁面 ----> dismiss 註冊頁面 (此時會到登入頁面) 可是不知道要怎麼寫? orz 也想請問大家都怎麼處理這種東西? 感恩看完那麼長的敘述,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 116.89.131.241 ※ 編輯: redok 來自: 116.89.131.241 (01/08 11:16)
kiii210:popToRootViewController? 01/08 11:29
howdiun:小改的話,把登入頁傳給子頁面,註冊完後[登入頁 dismiss] 01/08 11:39
redok:1f說的應該是使用 navigation的方式@@ 01/08 12:56
redok:2f的意思是說 將最前面的登入頁dismiss的話 其它後面present 01/08 12:57
redok:的頁面 也會自動被dismiss? 01/08 12:57
原文"calling this method on a view controller lower in the stack dismisses its immediate child view controller and all view controllers above that child on the stack" 阿..所以直接傳登入的 view controller, 並 dismiss後面present的會被全部關掉 那如果是程式上的寫作是用甚麼方式會比較好呢 抑或是說通常大家用怎樣的技巧來進行頁面的切換 有甚麼固定的pattern嗎 (?) 謝謝! ※ 編輯: redok 來自: 116.89.131.33 (01/08 13:18)
kiii210:用NSNotificationCenter 完成後在登入頁dismiss? 01/08 13:29
這真的是一個絕妙的想法! 也可行! 不過似乎太大費周章
topkiss:有用過addChildViewController嗎?感覺原po只是想要一個 01/08 13:42
topkiss:框架去完成登入流程而已@@ 01/08 13:43
howdiun:資料設定頁的話,用push比較好吧 01/08 15:29
這只是我舉的範例啦^^ 並不是一定要設定頁 ※ 編輯: redok 來自: 116.89.131.33 (01/08 16:36)