什麼是IOS中的SetViewController,哪種情況下開發人員更喜歡?什麼是IOS中的SetViewController
IOS中的setViewController和PushViewController有什麼區別?
請幫我
謝謝。
什麼是IOS中的SetViewController,哪種情況下開發人員更喜歡?什麼是IOS中的SetViewController
IOS中的setViewController和PushViewController有什麼區別?
請幫我
謝謝。
導航控制器用於管理一堆視圖控制器。您可以一次將控制器「推」到堆棧上(這幾乎是所有時間都可以做的),或者您可以「一次設置」包含多個控制器的堆棧。 Read the manual.
首先它不是SetViewController
但它是setViewControllers
,因爲它的集合是array of view controller
。
可以在tabbar controller
只設置視圖控制器navigation controller
或tabbar controller
喜歡聰明人,你可以pushviewcontroller
只能在navigation controller
不
現在,讓我們瞭解navigation stack
概念:你有一個導航
例如controoler說, nav
。
它沒有任何對象(視圖控制器)。現在
例如你有三個viewcontrollers像A,B & C' and you set that array to you
導航controller`類似的陣列,
[self.navigationController setViewControllers:viewControllerArr];
那麼你的導航堆棧變得像
A -> B -> C (top of stack)
現在你推一個視圖控制器相同的導航堆棧,讓我們來說吧D
類似的東西,
[self.navigationController pushViewController:D animated:YES];
然後您的導航棧等變得,
A -> B -> C -> D (top of stack)
現在,如果你彈出一個視圖控制器類似,
[self.navigationController popViewControllerAnimated:YES];
然後堆棧彈出頂部,然後你的籌碼看起來像,
`A -> B -> C (top of stack)`
再次彈出一個,
`A -> B (top of stack)`
所以,set和push視圖控制器基本上主要的區別是,當你設置viewcontrollers時,你設置的數組就是多個數組。所以,我們可以說setViewController
是初始化導航控制器與初始控制器(導航堆棧的初始化)
其中push或pop是添加或刪除導航堆棧或從導航堆棧刪除視圖控制器。
希望這會有所幫助:)