SwiftUI AnyTransition.animation не переопределяет параметры анимации при использовании .offset

У меня есть представление, в котором я хотел бы использовать переход смещения. Насколько я понимаю, я могу использовать функцию.animation в AnyTransition, чтобы переопределить параметры анимации явной анимации.

В этом простом примере я хотел бы, чтобы переход прямоугольника был в 10 раз длиннее, чем движущийся текст.

Работает при использовании AnyTransition.opacity

Не работает при использовании AnyTransition.offset

struct MyTestView: View {

    @State var rectangleExists = false

    var body: some View {
        VStack {
            if rectangleExists {
                Rectangle().fill().foregroundColor(.red).padding()
                    //.transition(AnyTransition.opacity
                    .transition(AnyTransition.offset(x: 100, y: 0)
                                    .animation(.linear(duration: 5)))
            }
            Text("Tap Me").onTapGesture {
                withAnimation(.linear(duration: 0.5)) {
                    rectangleExists.toggle()
                }
            }
        }
    }
}

0 ответов

Другие вопросы по тегам