Я сейчас играюсь с SwiftUI. В SwiftUI возможно анимировать изменение состояния, например, так:
struct Foo: View {
@State private var show = false
var body: some View {
VStack {
if show {
Text("Foo")
}
Button(action: {
withAnimation {
self.show.toggle()
}
}) {
Text(show ? "Hide" : "Show")
}
}
}
}
Но если у меня есть, например, TextField:
struct Foo: View {
@State private var text = ""
var body: some View {
VStack {
TextField($text, placeholder: Text("Foo")) {
print("editing ended")
}
if !text.isEmpty {
Button(action: {}) {
Text("Done")
}
}
}
}
}
Я не могу найти способ анимировать это изменение, поскольку свойство State изменяется TextField без вызова withAnimation ().
Возможно ли оживить это изменение?