在 SwiftUI 中,如何通过将视图放在滚动视图之上来让滚动视图可滚动?
所以基本上,我有一个包含 ZStack
和 ScrollView
的 View
。
两者都在消耗 ZStack
内的全部可用空间。
在这种情况下,View
位于 ZStack
之上。 View
还包含一个 Button
和在某些区域添加的 TapGesture
。
如何让 ScrollView
仍然可以滚动浏览 View
?
感谢您对此的任何帮助!
一些代码来说明,虽然不完整。
var body: some View {
ZStack {
ScrollView {
SomeCell() // Looped
}
HUD() // The view talked above
}
}
答案 0 :(得分:1)
根据 this post,这是一个已知的 SwiftUI 错误。我也遇到了同样的问题,我不相信有原生的 SwiftUI 解决方案。您可能不得不依赖 UIViewRepresentable。
对于我的用例,我只希望我的滚动视图的水平边缘具有“褪色”外观,我可以通过使用蒙版而不是覆盖来实现这一点,但我不确定这是否有帮助你的情况。
ScrollView {
Text("Hello")
}.mask(
LinearGradient(gradient: Gradient(colors: [
Colors.background.opacity(0),
Colors.background.opacity(1),
Colors.background.opacity(0)
]),
startPoint: .leading,
endPoint: .trailing
)
)