【问题标题】:SwiftUI horizontal ScrollView has invisible paddingSwiftUI 水平 ScrollView 具有不可见的填充
【发布时间】:2020-02-11 21:55:10
【问题描述】:

嵌套的水平 ScrollView 从顶部具有不可见的填充。我尝试为 ScrollView 和内容添加“.padding(.top, 0)”,但它不起作用。这是一个错误还是可以删除此填充?

VStack(alignment: .leading) {
      Text("Text one")
      Text("Text two")
      ScrollView(.horisontal, showsIndicators: false) {
      Text("Text with strange top padding")
    }
}.padding(.horizontal)

【问题讨论】:

    标签: swift scrollview swiftui padding


    【解决方案1】:

    我不知道 ScrollingView 是什么,但使用标准的 ScrollView 提供的示例效果很好(使用 Xcode 11.2 / iOS 13.2 测试)

    这是一个在滚动视图周围添加边框以提高可见性的演示

    struct TestHorizontalScrollView: View {
        var body: some View {
            VStack(alignment: .leading, spacing: 0) {
                  Text("Text one")
                  Text("Text two")
                  ScrollView(.horizontal) {
                    Text("Text with strange top padding")
                }.border(Color.red)
            }.padding(.horizontal)
        }
    }
    

    【讨论】:

    • 抱歉,打错了。看到“Text two”和ScrollView里面的文字之间的差距了吗?这就是我所说的。
    • @yoprst,啊那个..那么你只需要在VStack中明确指定spacing,因为如果没有,那么系统会在每对兄弟视图之间选择默认值(并且没有填充硬编码,因为你接受了) .