如何在动画期间使按钮处于非活动状态

中西新吾

我想停用按钮,直到动画完成。我希望它在动画结束时处于活动状态。

我写了以下内容,但没有奏效。它立即激活。

import SwiftUI

struct ContentView: View {
  @State private var scale: CGFloat = 1
  @State private var isDisable = false
  
  var body: some View {
    VStack {
      Button(
        action: {
          isDisable = true
          withAnimation(
            .linear(duration: 1)
          ) {
            scale = scale - 0.1
            isDisable = false
          }
        },
        label: {
          Text("Tap Me")
        }
      )
      .disabled(
        isDisable
      )
      RectangleView().scaleEffect(
        scale
      )
    }
  }
}

struct RectangleView: View {
  var body: some View {
    Rectangle().fill(
      Color.blue
    )
    .frame(
      width:200,
      height: 150
    )
  }
}

struct ContentView_Previews: PreviewProvider {
  static var previews: some View {
    ContentView()
  }
}
拉惹基尚

添加延迟。

{
    isDisable = true
    withAnimation(
        .linear(duration: 1)
    ) {
        scale = scale - 0.1
    }
    DispatchQueue.main.asyncAfter(deadline: .now() + 1) { //< Here
        isDisable = false
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

NextJS:如何保持按钮处于活动状态?

Angular - 单击按钮时使按钮处于活动状态,并在单击组中的其他按钮时处于非活动状态

填写输入字段时,如何使按钮状态处于活动状态?

如何在按钮处于活动状态时重复生成SKnode

如何在选择它时实现一个单选按钮处于活动状态?

单击使按钮处于活动状态

wxPython处于非活动状态?

如何通过复选框启用/禁用按钮并在刷新页面后保持按钮处于活动状态或非活动状态

如何在动画速度期间禁用按钮?

如何禁用用户的按钮,直到editText处于活动状态?

JavaScript 如何获取按钮是否处于活动状态(单击后)

mercurial如何确定分支处于非活动状态?

当项目处于非活动状态时,如何找到替换叉?

如何使html处于非活动状态并显示正在加载的gif

Android如何知道用户是否处于非活动状态

当 EditText 处于非活动状态时如何设置提示位置

Intellij Live Templates 似乎被锁定。新建或复制按钮处于非活动状态。我如何启用它们?

单击按钮以显示新阶段时如何关闭当前阶段而不使新阶段的组件处于非活动状态

在ListView中处于活动状态或非活动状态时,如何更改容器的颜色

如何在 vivado 上使 LED 处于活动状态

如何在通话仍处于活动状态时隐藏拨号意图

如何在事务表中查找仍处于活动状态的记录

如何在Blazor中设置“导航项目处于活动状态”?

如何在flutter的弹出窗口小部件下使整个屏幕处于非活动状态(变暗)(类似于showDialog)?

如何使数组的第一项处于活动状态而其余部分处于非活动状态

如何使单击的选项卡及其内容处于活动状态而其他内容处于非活动状态?

更改按钮:在CSS中处于活动状态

Javascript 设置按钮处于活动状态

硒验证哪个按钮处于活动状态