Я пытался установить строку состояния в приложении SwiftUI для светлого текста, поскольку он имеет темный фон.
Я нашел это решение на нескольких сайтах, но не могу заставить его работать.
HostingController.swift
import Foundation
import UIKit
import SwiftUI
class HostingController : UIHostingController {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
Возвращает ошибку в строке объявления класса Reference to generic type 'UIHostingController' requires arguments in <...>
с предлагаемым исправлением Insert '<<#Content: View#>>'
.Применение указанного исправления приводит к ошибке Use of undeclared type '<#Content: View#>'
Затем вам нужно изменить window.rootViewController
в файле SceneDelegate.swift
.
SceneDelegate.swift
...
// Create the SwiftUI view that provides the window contents.
let contentView = Login()
// Use a UIHostingController as window root view controller.
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
window.rootViewController = HostingController(rootView: contentView)
self.window = window
window.makeKeyAndVisible()
}
...
Это приводит к ошибке на window.rootViewController
строке Argument passed to call that takes no arguments
У кого-нибудь есть идеи?Кажется, очень сложно просто установить цвет строки состояния, что, я думаю, было бы довольно распространенным требованием.