【问题标题】:How to remove right left padding of `Form` in SwiftUI?如何在 SwiftUI 中删除“Form”的左右填充?
【发布时间】:2021-03-19 01:05:35
【问题描述】:

如何在 SwiftUI 中去除 Form 的左右 Padding?我创建的每个视图在前导和尾随都有填充。

这是我的代码

init() {
            UITableView.appearance().tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: Double.leastNonzeroMagnitude))
        }
    
    var body: some View {
        NavigationView{
            Form{
                Section{
                    Picker(selection: $selectedCurrency, label: Text("Date Format"), content: {
                        ForEach(0 ..< self.dateStyles.count) { (index:Int) in
                            Text("\(self.dateStyles[index])")
                           
                        }
                    })
                }
            }.listStyle(PlainListStyle())
            .listRowInsets(.init(top: 0, leading: 0, bottom: 0, trailing: 0))
            .navigationBarTitle(Text("Settings"), displayMode: .inline)
            .onAppear(){
                if ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] != "1"{
                //some code
                }
        }
            
        }
    }

【问题讨论】:

  • 这是一个开箱即用的表单设计。不喜欢Form,用List。

标签: ios swiftui swiftui-form


【解决方案1】:

你应该使用List而不是Form,看看不同的list styles,我想你在.listStyle(GroupedListStyle())之后

【讨论】:

    【解决方案2】:

    使用其他东西可能是最好的,但这会删除填充。

    Form {
     ...               
    }.padding(.leading, -16)
    .padding(.trailing, -16)
    

    【讨论】:

      猜你喜欢
      • 2019-10-30
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多