我想制作一个具有渐变背景的滚动应用程序。例如,底部是黑色的,顶部是白色的,我会指定一个8000的VStack高度,对于这个高度,当用户滚动屏幕时,他将看到颜色的变化。
我没有找到任何解决方案。我试着为VStack和Rectangle数字制作LinearGradient,以获得其全部高度,但它只覆盖了手机屏幕的大小(不能填满所有8000个高度点)。所以如果我向上滚动,渐变就会丢失,只能显示黑屏。
谢谢你的帮助]1
你可以在ZStack中使用一个矩形来实现。
struct ContentView: View {
var body: some View {
ScrollView {
ZStack(alignment: .top) {
// Example width and height. Width should be the width of the device
Rectangle().frame(width: 10000, height: 2000).foregroundColor(.clear).background(LinearGradient(gradient: Gradient(colors: [.white, .black]), startPoint: .top, endPoint: .bottom))
// Add your actual content here:
Text("Yeet")
}
}
}
}