SwiftUI: проблема с 3DEffect в ScrollView - PullRequest
2 голосов
/ 18 июня 2020

в моем Projekt у меня есть ScrollView с некоторыми элементами. Когда я прокручиваю, элементы должны выполнять 3DEffect. Все работает нормально, но края элемента (VStack) обрезаны.

At the bottom the edges are cut off.

Кто-нибудь знает о проблеме?

Вот мой код ContentView ():

var body: some View {
    NavigationView{
        ZStack {
            VStack{
                ScrollView(showsIndicators: false){
                    VStack(spacing: 30) {
                        ForEach(0..<4){ item in
                            GeometryReader { geometry in
                                Elemente(minY: geometry.frame(in: .global).minY, title: self.möglicheZeiten[item < self.möglicheZeiten.count ? item : 0], einstellungsFeld: item )
                            }
                            .frame(maxWidth: .infinity)
                            .frame(width: 350, height: 200)
                        }
                    }
                }
                NavigationLink(destination: TrainingView()){
                    Text("Start")
                }
                .styleButton()
            }
            .navigationBarTitle("Workout", displayMode: .automatic)
        }
    }
}

А вот код Element ():

var body: some View{
var minY: CGFloat

...

VStack {
    VStack(spacing: 20){
        Text("\(title)")
            .bold()

        if einstellungsFeld != 3{
            Zeiten(minuten: daten.berechneMinuten(minuten: Int(wert)), sekunden: daten.berechnenSekunden(sekunden: Int(wert)))
        }else{
            Text("Durchgänge: \(Int(daten.durchgaenge))")
        }
        Slider(value: $daten.insgesamt)
    }
    .styleSettingsBox()
    .rotation3DEffect(Angle(degrees: Double(minY/10)), axis: (x: 10, y: 0, z: 0.0))
    .scaleEffect(minY < 1.00 ? minY / 1000 + 1 : 1.00, anchor: .bottom)

}

}

Заранее спасибо и извините за мой Engli sh:)

1 Ответ

1 голос
/ 18 июня 2020

Я решил это, предоставив Vstack в ScrollView .frame (maxHeight: .infinty).

...