簡體   English   中英

如何在 MoreTabBarController 中將 UIStatusBar 顏色更改為 .lightContent

[英]How do I change the UIStatusBar color to .lightContent in the MoreTabBarController

我有一個超過 5 個UIViewControllersUITabBarController 我已經在我的info.plist中設置了值 我已經將基於ViewController的狀態欄外觀的值設置為YES

在此處輸入圖像描述

所有的 UIViewControllers 都有值

UIApplication.shared.statusBarUIView?.backgroundColor = customColor
self.setNeedsStatusBarAppearanceUpdate()

在 viewDidLoad 中,customColor 是深藍色。 我還覆蓋了preferredStatusBarStyle 變量以顯示內容。

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

所有 UIViewController 都顯示 lightContent 狀態欄。 我在 MoreTabBarController class 中嘗試過相同的方法,但它不起作用。 我假設原因是因為它不是 UIViewController 而是 UITabBarController。

在此處輸入圖像描述

如何將狀態欄顏色更改為 MoreTabBarController 中的淺色內容?

在 didFinishLaunchingWithOptions 中使用UIApplication.shared.statusBarStyle =.lightContent ,然后在.info plist 中使用View controller-based status bar appearance鍵並將其 boolean 值設置為 No。 它將狀態欄顏色更改為淺色內容。

打開項目設置選項,您可以更改狀態欄的樣式:

在此處輸入圖像描述

接下來,go 回到 Storyboard,Select ViewController和編輯器菜單 ZE062621 NavigationController Select 導航欄並在屬性檢查器中將 Bar Tint 顏色設置為紅色。 構建並運行項目,狀態欄的內容又變暗了,這是默認的。 原因是,iOS 要求導航狀態欄的樣式 controller 而不是包含的ViewController 要更改應用內所有導航controller的樣式,請在AppDelegate.swift文件中更改以下方法。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    UINavigationBar.appearance().barStyle = .blackOpaque
    return true
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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