更新时间:2023-01-05 21:15:06
在 .plist 文件中将 UIViewControllerBasedStatusBarAppearance
设置为 YES
.
在viewDidLoad
中做一个[self setNeedsStatusBarAppearanceUpdate];
添加以下方法:
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
注意:这不适用于 UINavigationController
内部的控制器,请参阅 泰森在下面的评论 :)
Note: This does not work for controllers inside UINavigationController
, please see Tyson's comment below :)
Swift 3 - 这将在 UINavigationController
中运行控制器.将此代码添加到您的控制器中.
Swift 3 - This will work controllers inside UINavigationController
. Add this code inside your controller.
// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
Swift 5 和 SwiftUI
为 SwiftUI 创建一个名为 HostingController.swift
For SwiftUI create a new swift file called HostingController.swift
import Foundation
import UIKit
import SwiftUI
class HostingController: UIHostingController<ContentView> {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
然后在SceneDelegate.swift
window.rootViewController = UIHostingController(rootView: ContentView())
到
window.rootViewController = HostingController(rootView: ContentView())