SwiftUI бесконечный градиент фона - PullRequest
0 голосов
/ 05 мая 2020

Я хочу сделать приложение для прокрутки с градиентным фоном. По мере прокрутки пользователя цвет фона меняется. Например, нижняя часть черная, а верхняя белая. Я бы указал высоту VStack для 8000, и для этой высоты, когда пользователь прокручивает экран, он увидит изменение цвета.

Я не сделал этого не нахожу никакого решения. Пытался сделать LinearGradient для фигур VStack и Rectangle на полную высоту, но он покрывает только размер экрана телефона (не может заполнить все 8000 точек высоты). Поэтому, если я прокручиваю вверх, градиент теряется, и отображается только черный экран.

Спасибо ![enter image description here] 1

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете добиться этого, используя прямоугольник внутри 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

...