簡體   English   中英

UITabBarController在不同選項卡中具有相同的ViewController

[英]UITabBarController with same ViewController in different tab

場景

  1. 我們在應用程序中有一個標簽欄控制器。

  2. 只有一個視圖控制器具有與StatusBar不同的顏色樣式,我們將此視圖控制器稱為VC1

  3. 所以我在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM