You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

79 lines
2.5 KiB

import SwiftUI
import UIKit
import shared
class TransparentStatusBarViewController: UIViewController {
private let composeViewController: UIViewController
init() {
self.composeViewController = MainViewControllerKt.MainViewController()
Platform_iosKt.doInitLogger()
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
super.viewDidLoad()
//
view.backgroundColor = UIColor.clear
// Compose
addChild(composeViewController)
view.addSubview(composeViewController.view)
composeViewController.didMove(toParent: self)
// Compose
composeViewController.view.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
composeViewController.view.topAnchor.constraint(equalTo: view.topAnchor),
composeViewController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
composeViewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
composeViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
// Compose
composeViewController.view.backgroundColor = UIColor.clear
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent //
}
override var prefersStatusBarHidden: Bool {
return false //
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
//
setNeedsStatusBarAppearanceUpdate()
//
navigationController?.setNavigationBarHidden(true, animated: false)
}
}
struct ComposeView: UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> UIViewController {
return TransparentStatusBarViewController()
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}
}
struct ContentView: View {
var body: some View {
ComposeView()
.ignoresSafeArea(.all) //
.preferredColorScheme(.light) //
}
}
#Preview {
ContentView()
}