You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI如何将依赖按钮触发的动画改为自动播放并移除按钮

SwiftUI 文本动画自动触发修改方案

你可以通过onAppear生命周期修饰符实现动画自动触发,直接删除原有按钮代码即可,修改后的完整代码如下:

struct ContentView: View {
    @State var shortString = true

    var body: some View {
        VStack {
            Text(shortString ? "This is short." : "This is considerably longer.")
                .font(.title)
                .animation(.easeInOut(duration:1.0), value: shortString)
        }
        .onAppear {
            shortString.toggle()
        }
    }
}

改动说明

  • 完全删除了原有的按钮相关代码
  • 新增onAppear修饰符,会在视图首次渲染完成后自动执行状态切换逻辑,触发文本动画
  • 补充了animation修饰符的value参数,这是新版SwiftUI的规范写法,避免动画无差别触发

如果你需要实现循环往复的动画效果,可以在onAppear中加入定时器实现自动重复切换:

.onAppear {
    Timer.scheduledTimer(withTimeInterval: 1.5, repeats: true) { _ in
        shortString.toggle()
    }
}

内容的提问来源于stack exchange,提问作者mrcreate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:36:03