NavigationView行为随内容视图中的背景颜色而变化

时间:2020-03-31 20:59:48

标签: swiftui

我尝试以非白色背景色显示滚动视图。但是,无论我做什么,只要设置了背景颜色,导航栏就会开始起作用。我的滚动视图中的项目不再在其下方滚动,并且该条也不会折叠。白色背景似乎变得半透明,一切都可以透过。

有什么主意吗?

struct ExpoListView: View {

    var body: some View {
        NavigationView {
            ZStack {
                Color.blue
                ScrollView {
                    Text("XXX")
                    Spacer()
                    Text("XXX")
                    Spacer()
                    Text("XXX")
                    Spacer()
                    Text("XXX")
                    Spacer()
                    Text("XXX")
                    Spacer()
                }
            }
            .navigationBarTitle("expo")
        }
    }
}

然后使用滚动视图将导致: enter image description here

删除Color.blue并使用滚动条可以看到:

enter image description here

1 个答案:

答案 0 :(得分:0)

请考虑这个

demo

struct ExpoListView: View {

    var body: some View {
        NavigationView {
            GeometryReader { gp in
                ScrollView {
                    ZStack {
                        Rectangle().fill(Color.blue)
                        VStack {
                            Text("XXX")
                            Spacer()
                            Text("XXX")
                            Spacer()
                            Text("XXX")
                            Spacer()
                            Text("XXX")
                            Spacer()
                            Text("XXX")
                            Spacer()
                        }
                    }.frame(minHeight: gp.size.height)
                }
                .navigationBarTitle("expo")
            }
        }
    }
}