SwiftUI无尽渐变背景

问题描述 投票:-1回答:1

我想制作一个具有渐变背景的滚动应用程序。例如,底部是黑色的,顶部是白色的,我会指定一个8000的VStack高度,对于这个高度,当用户滚动屏幕时,他将看到颜色的变化。

我没有找到任何解决方案。我试着为VStack和Rectangle数字制作LinearGradient,以获得其全部高度,但它只覆盖了手机屏幕的大小(不能填满所有8000个高度点)。所以如果我向上滚动,渐变就会丢失,只能显示黑屏。

谢谢你的帮助![enter image description here]1

xcode uiscrollview swiftui scrollview linear-gradients
1个回答
0
投票

你可以在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")
            }
        }
    }
}

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.