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()
}
}