Ios SwiftUI-显示一次文本后,从一开始就为其设置动画

Ios SwiftUI-显示一次文本后,从一开始就为其设置动画,ios,swift,swiftui,Ios,Swift,Swiftui,我已经为一个文本设置了动画,当按下按钮时,文本中显示一个变量,当显示“Spring”动画时 如果变量更改,文本将仅在显示的末尾更改 问题在于,正因为如此,当再次按下按钮时,“弹簧”动画仅适用于文本的结尾 我尝试让按钮先清除文本,然后重写,但动画仍然只应用于更改的部分 有没有办法让文本完全重新出现,或者从一开始就让它复活 下面是相关的代码位 Button(action: { self.outputText = "T

我已经为一个文本设置了动画,当按下按钮时,文本中显示一个变量,当显示“Spring”动画时

如果变量更改,文本将仅在显示的末尾更改

问题在于,正因为如此,当再次按下按钮时,“弹簧”动画仅适用于文本的结尾

我尝试让按钮先清除文本,然后重写,但动画仍然只应用于更改的部分

有没有办法让文本完全重新出现,或者从一开始就让它复活

下面是相关的代码位

                Button(action: {

                    self.outputText = "This is my variable: \(variable)."

                }) {
                       Text("Button text")
                   }

                Text(outputText)
                    .animation(.spring())


这里是可能的方法-只是清除和更新有点延迟

使用Xcode 12/iOS 14准备并测试演示


这似乎是完美的,非常感谢你,我会试试这个!
    Button(action: {
        self.outputText = ""
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
            self.outputText = "This is my variable: \(variable)."
        }

    }) {
           Text("Button text")
       }

    Text(outputText)
        .animation(.spring())