小编Dan*_*Dan的帖子

SwiftUI 动画无法使用动画(_:值:)

在 SwiftUI 中,我成功地使用修改器在视图第一次绘制到屏幕上时使按钮具有动画效果animation(_:),这在 macOS 12 中已被弃用。

我尝试用新的animation(_:value:)修饰符替换它,但是这次没有任何反应:所以这不起作用:

struct ContentView: View {
    @State var isOn = false
    var body: some View {
        Button("Press me") {
            isOn.toggle()
        }
        .animation(.easeIn, value: isOn)
        .frame(width: 300, height: 400)
    }
}
Run Code Online (Sandbox Code Playgroud)

但这是有效的。为什么?

struct ContentView: View {
    var body: some View {
        Button("Press me") {
        }
        .animation(.easeIn)
        .frame(width: 300, height: 400)
    }
}
Run Code Online (Sandbox Code Playgroud)

第二个示例在视图显示时为按钮设置动画,而第一个示例不执行任何操作

swiftui swiftui-animation

7
推荐指数
1
解决办法
9499
查看次数

标签 统计

swiftui ×1

swiftui-animation ×1