SwiftUI кажется, что переход не работает внутри NavigationStack

Когда я нажимаю на элемент в списке, я хочу перейти от переднего края.

В настоящее время:

  • Когда я использую сам по себе, переход появления работает нормально.

  • Когда я заворачиваюListViewвNavigationStack,Imageпоявления перехода не происходит . Textпереходит правильно.

  • В обоих случаях переход «исчезновение» работает нормально.

Ниже приведен минимальный пример (включая провайдеров предварительного просмотра), чтобы продемонстрировать, о чем я говорю:

      import SwiftUI

struct ListView: View {
    @State var selected: Int? = nil
    
    var body: some View {
        List(0..<4) { index in
            HStack {
                if selected == index {
                    Image(systemName: "checkmark.circle.fill")
                        .transition(.move(edge: .leading).combined(with: .opacity))
                }
                Text("\(index)")
                Spacer()
            }
            .contentShape(Rectangle())
            .onTapGesture { selected = index }
            .animation(.default, value: selected == index)
        }
    }
}

struct AnimationBroken_Previews: PreviewProvider {
    static var previews: some View {
        NavigationStack {
            ListView()
        }
    }
}

struct AnimationWorks_Previews: PreviewProvider {
    static var previews: some View {
        ListView()
    }
}

0 ответов

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