首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在SwiftUI中停止动画().repeatForever

在SwiftUI中停止动画.repeatForever,可以通过使用.onAppear.onDisappear修饰符来实现。以下是一个完整的示例代码:

代码语言:txt
复制
import SwiftUI

struct ContentView: View {
    @State private var isAnimating = true
    
    var body: some View {
        Circle()
            .frame(width: 100, height: 100)
            .foregroundColor(.blue)
            .scaleEffect(isAnimating ? 1.5 : 1.0)
            .animation(Animation.easeInOut(duration: 1.0).repeatForever())
            .onAppear {
                isAnimating = true
            }
            .onDisappear {
                isAnimating = false
            }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

在上面的代码中,我们使用了@State属性包装器来创建一个布尔类型的状态变量isAnimating,用于控制动画的开始和停止。当视图出现时,.onAppear闭包会将isAnimating设置为true,从而启动动画。当视图消失时,.onDisappear闭包会将isAnimating设置为false,从而停止动画。

动画效果是通过.animation修饰符来定义的。在示例中,我们使用了Animation.easeInOut(duration: 1.0).repeatForever()来创建一个持续时间为1秒的缓入缓出动画,并将其设置为无限重复。

这是一个简单的示例,你可以根据自己的需求进行修改和扩展。关于SwiftUI的更多信息,你可以参考腾讯云的官方文档:SwiftUI开发指南

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券