填写 SwiftUI 表单中的部分背景

Sor*_*ica 4 ios swift swiftui

我必须用某种颜色填充部分的背景,如下所示 在此输入图像描述

现在我尝试过

NavigationView {
            Form {
                Section {
                    Text("Error message!")
                    }.background(Color.red.opacity(0.2))

                Section {
                    Text("Label 1")
                }
                Section {
                    Text("Label 2")
                }
            }.navigationBarTitle("title", displayMode: NavigationBarItem.TitleDisplayMode.inline)
        }
Run Code Online (Sandbox Code Playgroud)

但是,似乎有一个预定义的填充,所以我无法填充边距

在此输入图像描述

Mak*_*aki 5

也许这会有所帮助,至少在模拟器中这似乎是您请求的解决方案:

        NavigationView {
            Form {
                Section {
                    HStack {
                        Text("Error message!")
                        Spacer()
                    }
                        .padding(.vertical)
                        .listRowInsets(EdgeInsets())
                }
                .padding(.horizontal)
                .background(Color.red.opacity(0.2))

                Section {
                    Text("Label 1")
                }
                Section {
                    Text("Label 2")
                }
            }
                .navigationBarTitle("title", displayMode: .inline)
        }
Run Code Online (Sandbox Code Playgroud)

  • 看起来 `HStack` 上的 `listRowBackground<V>(_ view: V?)` 也可以工作,那么就不再需要填充了 (6认同)