SwiftUI matchedGeometryEffect в сочетании с NavigationView

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

Есть что-то, что мне не хватает?

      struct ContentView: View {
    @Namespace private var namespace
    @State private var expanded = false

    var body: some View {
        NavigationView {
            VStack {
                NavigationLink("Click Me") {
                    Text("Hello, world")
                }
                Group {
                    if expanded {
                        Rectangle()
                            .foregroundColor(.red)
                            .matchedGeometryEffect(id: "Rect", in: namespace)
                            .frame(width: 300, height: 300)
                    }
                    else {
                        Rectangle()
                            .foregroundColor(.blue)
                            .matchedGeometryEffect(id: "Rect", in: namespace)
                            .frame(width: 50, height: 50)
                    }
                }
                .onTapGesture {
                    withAnimation(.linear(duration: 2.0)) {
                        expanded.toggle()
                    }
                }
            }
        }
    }
}

1 ответ

Кажется, это была ошибка в iOS (я использовал 15.5), последняя версия (iOS 16.1) работает без проблем.

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