我目前正在玩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")
}
}
}
}
但是如果我有一个文本字段:
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()。
有没有可能把这个变化动画化?
2条答案
按热度按时间mlnl4t2r1#
只需添加动画修改器来 Package 按钮
5n0oy7gb2#
第一个月
使用文本的所有内容在更改时都将以动画形式显示。