Я не могу сделать переход вставки для работы в SwiftUI.
У меня есть Group
, который условно отображает одно из двух представлений. Когда я пытаюсь анимировать переход, удаление удаления работает, но вставка не - вид сразу появляется без какой-либо анимации.
Я вставляю под мой код вида. Как я могу сделать эту работу? (Xcode 11.3.1)
struct TestView: View {
@State private var showView = false
var body: some View {
VStack {
Button(action: {
withAnimation {
self.showView.toggle()
}
}) {
Text("Tap")
}
Group {
if showView {
Color.red
.frame(width: 100, height: 100)
} else {
Color.blue
.frame(width: 100, height: 100)
.cornerRadius(50)
}
}
.transition(.asymmetric(insertion: .move(edge: .leading),
removal: .move(edge: .trailing)))
}
}
}
Редактировать:
Как указал @Asperi в комментарии, код правильно, но ... это будет работать только при запуске на реальном устройстве. Живые превью в Xcode содержат ошибки и, очевидно, не очень хорошо справляются с переходами.
Так что ответ на этот вопрос прост: тест на реальном устройстве! :)