Erstens hier ist ein Codeblock, der das
Problem reproduziert: < /p>
Code: Select all
import SwiftUI
struct CustomAnimation: ViewModifier {
@State private var isAnimated: Bool = false
func body(content: Content) -> some View {
content
.phaseAnimator([true, false], trigger: self.isAnimated) { view, phase in
view
.scaleEffect(phase ? 1 : 1.2)
}
.onTapGesture {
self.isAnimated.toggle()
}
}
}
#Preview {
@Previewable @State var isPresented: Bool = true
VStack {
Button {
isPresented = true
} label: {
Text("show sheet")
}
}
.sheet(isPresented: $isPresented) {
VStack {
Spacer()
Text("my animated text")
.modifier(CustomAnimation())
}
}
}
Das
Problem ist, dass der animierte Text, der am unteren Rand des Bildschirms mit einem Abstandshalter platziert ist (und an seine Stelle zurückgeht), wenn ich die Blatt nach oben ziehe, nachdem die Ansicht mindestens einmal animiert wurde. /> Ich habe versucht, mit Instrumentenkupplungen zu debuggen, aber ich bin neu in diesem und verstehe nicht viel, wie man Informationen erhält. Ich habe auf dem Gerät bemerkt, wenn ich die App in den Hintergrund stecke, ist es so, als ob die Animation nicht stattgefunden hat und das
Problem verschwindet, bis ich eine andere Animation auslöste.>