[問題] present too many view controllers
想請問各位一個程式呼叫流程的問題
例如: 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)
推
01/08 11:29, , 1F
01/08 11:29, 1F
→
01/08 11:39, , 2F
01/08 11:39, 2F
→
01/08 12:56, , 3F
01/08 12:56, 3F
→
01/08 12:57, , 4F
01/08 12:57, 4F
→
01/08 12:57, , 5F
01/08 12:57, 5F
原文"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)
推
01/08 13:29, , 6F
01/08 13:29, 6F
這真的是一個絕妙的想法! 也可行!
不過似乎太大費周章
→
01/08 13:42, , 7F
01/08 13:42, 7F
→
01/08 13:43, , 8F
01/08 13:43, 8F
→
01/08 15:29, , 9F
01/08 15:29, 9F
這只是我舉的範例啦^^ 並不是一定要設定頁
※ 編輯: redok 來自: 116.89.131.33 (01/08 16:36)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):