【问题标题】:SwiftUI offset items in ScrollView under another view另一个视图下的 ScrollView 中的 SwiftUI 偏移项
【发布时间】:2022-01-19 06:16:41
【问题描述】:

我的应用顶部有一个VStack,其中包含一些内容,底部有一个ScrollView,这些视图用Divider 分隔。有什么办法可以抵消滚动视图,使其开始稍微隐藏在Divider 和顶视图下方?

这是我想要的示例图片:

在此示例中,数字位于 ScrollView 中,顶部内容只是 Color.white

不过,如果我应用一个简单的 y offset,我会得到:

数字是垂直向上移动的,但没有“隐藏”在下方。

有没有一种简单的方法来获得“隐藏”的结果?我确信我可以使用 ZStack 或其他东西,但这似乎需要做很多工作,尤其是因为我不知道顶级内容会有多大。

示例代码:

struct ContentView: View {
    var body: some View {
        VStack(spacing: 0) {
            Color.white.frame(height: 100)
        
            Divider()
        
            ScrollView {
                ForEach(0..<20) { number in
                    Text("\(number)")
                }
            }
            .offset(y: -8)
        }
    }
}

【问题讨论】:

  • 尝试负填充和.clipped

标签: swiftui scrollview


【解决方案1】:

我假设您只需要填充滚动视图,例如

ScrollView {
    ForEach(0..<20) { number in
        Text("\(number)")
    }
}
.padding(.top, -8)   // << here !!
.clipped()

【讨论】:

  • 我想要相反的——滚动视图在顶视图下
  • 误解了,请参阅更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 2020-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多