ios - 在 SwiftUI 中更改具有 NavigationView 和 ScrollView 的 TabView 的背景颜色

标签 ios swift swiftui

我想建一个TabView有 4 个选项卡,其中包含 Collection View 。下面是我的一个名为“画廊”的标签的代码。


 var body: some View {
        NavigationView {
            ScrollView {
                GridStack(rows: 3, columns: 2) { row, column, totalColumn in
                    CardView(card: self.cards[(row * totalColumn) + column])
                }.padding().background(Color.red)
            }
            .navigationBarTitle("Gallery")
        }
    }

当我为 ScrollView 提供背景颜色时,滚动不适用于 NavigationView大标题。我怎样才能做到这一点,我想为全 View 的背景赋予红色?如果我需要为所有选项卡实现相同的背景颜色怎么办?

enter image description here

最佳答案

这是可能的方法(在这种情况下 ScrollView 不会被破坏)

NavigationView {
    GeometryReader { gp in
        ScrollView {
            ZStack(alignment: .top) {
                Rectangle().fill(Color.red) // << background

              // ... your content here, internal alignment might be needed

            }.frame(minHeight: gp.size.height)

        }
        .navigationBarTitle("Gallery")
    }
}

关于ios - 在 SwiftUI 中更改具有 NavigationView 和 ScrollView 的 TabView 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61812677/

相关文章:

objective-c - Swift - SCNVector4 到 NSValue 的数组?

ios - SwiftUI 无法关闭显示的第二个工作表

ios - 如何在 SwiftUI 中获取 MKMapView 方向

swift - .searchable 中的 NavigationLink 不起作用

ios - Swift 4 中 Visual Basic "Mid"函数的等价物是什么?

ios - 使用 Cordova 防止 iOS 应用程序保留屏幕快照

ios - 将 NSFontAttributeName 设置为粗体

ios - 如何从 Storyboard访问 tabBarViewController 中所有可能的 View Controller ?

ios - UIImage 去我点击的地方(但我需要它所以你只能拖动它)

ios - 如何检查 View Controller 是否是初始 View Controller ? ( swift 3)