2 Star 23 Fork 10

小弟调调/swiftui-example

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
README.md 1.36 KB
Copy Edit Raw Blame History
小弟调调 authored 4 years ago . doc: Update document title.

如何制作弹簧动画?

SwiftUI 内置了对春季动画的支持,这些动画会移动到目标点,过冲一些然后反弹。

如果仅使用 .spring() 而不使用任何参数,则会得到一个明智的默认值。 因此,这将创建一个 Spring 动画,每次点击按钮会将按钮旋转45度:

struct ContentView: View {
    @State private var angle: Double = 0

    var body: some View {
        Button("Press here") {
            angle += 45
        }
        .padding()
        .rotationEffect(.degrees(angle))
        .animation(.spring())
    }
}

如果您想对弹簧动画进行细粒度的控制,请输入您感兴趣的任何参数:物体的质量,弹簧的刚度,弹簧减慢的速度以及在发射时开始移动的速度 。

例如,这将创建一个具有适度弹簧阻尼的按钮,这意味着它将在达到目标角度之前来回弹跳几次:

struct ContentView: View {
    @State private var angle: Double = 0

    var body: some View {
        Button("Press here") {
            angle += 45
        }
        .padding()
        .rotationEffect(.degrees(angle))
        .animation(.interpolatingSpring(mass: 1, stiffness: 1, damping: 0.5, initialVelocity: 10))
    }
}

注意:这是一个插补弹簧,这意味着如果多次触发动画,则弹簧组合时,弹簧效果将越来越强。

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Swift
1
https://gitee.com/jaywcjlove/swiftui-example.git
git@gitee.com:jaywcjlove/swiftui-example.git
jaywcjlove
swiftui-example
swiftui-example
main

Search