1

私の問題は単純なもののようです。しかし、私は解決策を探すのに何時間も費やしました! UINavigationBarステータス バーの背景色を背景の色 (このサンプルでは赤) に合わせる必要があります。

ステータス バーの色が NavigationBar の色と一致していません

私の問題を再現し、解決策を提供するのに役立つ最小限のコードサンプルを作成しました...

TestApp.swift

import SwiftUI

@main
struct TestApp: App {
    @Environment(\.scenePhase) private var phase

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
        .onChange(of: phase) { newPhase in
            switch newPhase {
            case .active:
                UINavigationBar.appearance().backgroundColor = UIColor.red
                break
            default:
                break
            }
        }
    }
}

ContentView.swift

struct DetailView1: View {

    var body: some View {
        Text("Detail view 1")
    }
}

struct ContentView: View {
    @State private var isDisplayDetailView1 = true

    var body: some View {
        NavigationView {
            List {
                Section {
                    NavigationLink(destination: DetailView1(), isActive: $isDisplayDetailView1) {
                        Text("Go to detail view 1")
                    }
                }
            }
            .navigationBarTitle("Menu")
            .listStyle(GroupedListStyle())
        
            DetailView1()
        }
    }
}

edgesIgnoringSafeArea(.top)明らかに、私は自分のNavigationViewビューに追加しようとしましたが (そしてList1 つに、そしてDetailView11 つに...)、何も変わりません... 助けてください、どこに問題があるのか​​ わかりません!

4

1 に答える 1