如何消除SwiftUI表格中Section上方的空间?

时间:2019-09-09 10:08:42

标签: ios swift swiftui

我想消除Section中第一个Form上方的空间

enter image description here

 var body: some View {
        VStack {
            Text("Text 1")
            Form {
                Section {
                    Text("Text 2")
                }
            }
        }
    }

我试图将Section标题的框架设置为0,但它不起作用

3 个答案:

答案 0 :(得分:3)

解决方案是将SectionEmptyView()一起使用,并将想要的视图放在此Section的标题中

 var body: some View {
        VStack {
            Text("Text 1")
            Form {
                Section(header: VStack(alignment: .center, spacing: 0) {
                    Text("Text 2").padding(.all, 16)
                        .frame(width: UIScreen.main.bounds.width, alignment: .leading)
                        .background(Color.white)
                }) {
                    EmptyView()
                }.padding([.top], -6)
            }
        }
    }

答案 1 :(得分:2)

这要简单得多:

struct ContentView: View 
{

    init() 
    {
        UITableView.appearance().tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: Double.leastNonzeroMagnitude))
    }

    var body: some View 
    {

    }
}

答案 2 :(得分:2)

我会提供一个虚拟的标题视图并将其大小设置为零:

Section(header: Color.clear
                .frame(width: 0, height: 0)
                .accessibilityHidden(true)) {
  Text("Text 2")
}