[英]How do I use a UITabBarController using the same ViewController for every tab?
[英]UITabBarController with same ViewController in different tab
場景 :
我們在應用程序中有一個標簽欄控制器。
只有一個視圖控制器具有與StatusBar不同的顏色樣式,我們將此視圖控制器稱為VC1 。
所以我在VC1中添加了邏輯,viewWillAppear設置了所需的StatusBar顏色,viewWillDisappear重置了默認的StatusBar顏色。
問題 :大多數情況下,不同的選項卡具有不同的視圖控制器,這不會改變狀態欄的顏色。
但是在一種情況下,我將在兩個選項卡中顯示VC1,在這種情況下, 當我切換tab時 , 首先調用viewWillAppear ,這意味着稍后將調用reset StatusBar樣式 ,因此在切換選項卡之后,StatusBar顏色是錯誤的。
有辦法解決嗎? 在這種情況下,視圖控制器的生命周期似乎是錯誤的。
看一下UITabBarControllerDelegate
。 使用該功能,您可以根據選擇的選項卡采取操作-例如更改StatsBar的顏色-而不是在VC中進行操作。
當您想增強選項卡欄的行為時,可以使用UITabBarControllerDelegate協議。 特別是,您可以使用它來確定是應選擇特定的選項卡,還是在選擇選項卡之后執行操作,或者在用戶自定義選項卡順序之前或之后執行操作。
參考: https : //developer.apple.com/documentation/uikit/uitabbarcontrollerdelegate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.