2017-08-03 75 views
0

方案的UITabBarController與相同視圖控制器在不同的標籤

  1. 我們在應用程序標籤欄控制器。

  2. 只有一個視圖控制器對於StatusBar具有不同的顏色樣式,我們稱之爲視圖控制器VC1

  3. 所以我添加了邏輯VC1,viewWillAppear設置想要的StatusBar Color,viewWillDisappear重置默認的StatusBar Color。

問題: 大部分的時間,不同的標籤有不同的視圖控制器,這是沒有狀態欄顏色變化的問題。

但在一個情況下,我將有兩個選項卡顯示VC1,在這種情況下,當我切換標籤viewWillAppear中接到電話第一,這意味着復位狀態欄風格後來接到電話,所以在切換選項卡後,StatusBar Color是錯誤的。

有沒有辦法解決這個問題?在這種情況下,視圖控制器的生命週期似乎是錯誤的。

回答

0

UITabBarControllerDelegate。使用它,您可以根據選擇哪個選項卡來執行操作 - 例如更改StatsBar的顏色 - 而不是在VC內部執行操作。

當您想要 增強標籤欄的行爲時,使用UITabBarControllerDelegate協議。特別是,您可以將其用於 ,以確定是應該選擇特定選項卡,還是在選擇選項卡後執行操作 ,或者在 用戶自定義選項卡的順序之前或之後執行操作。

裁判:https://developer.apple.com/documentation/uikit/uitabbarcontrollerdelegate

+0

我明白你的想法,它應該工作,但我必須做出特定的邏輯上,因爲風格視圖控制器不是簡單地依賴於唯一標籤。 –

相關問題