在SwiftUi中禁用默认的按钮点击动画。

问题描述 投票:1回答:2

如何在SwiftUI和Swift 5中禁用默认的按钮点击动画?我尝试添加 .animation(.nil) 的按钮,不做任何改动。

我知道你可以做到以下几点。

Button(action: {}) { Capsule() }
.buttonStyle(NoAnim())

struct NoAnim: ButtonStyle {
func makeBody(configuration: Self.Configuration) -> some View {
    configuration.label
}

有谁知道一个更聪明的方法吗?

animation button swiftui default disable
2个回答
0
投票

如果我正确理解了你的问题,那么最好只使用

Capsule()
  .onTapGesture {
    // << action here !!
  }

0
投票

iOS 13.x,Swift 5。

所以你想要的是一个可以点击的东西,但不是按钮。只要使用一个标签,上面有一个onTapGesture,然后你就可以添加任何你喜欢的动画。

另外,你也可以使用 onDrag 手势,像这样。这将在你触摸它时立即更新拖动位置。所以它就像触摸事件一样。它也没有任何喜欢的动画。如果你愿意,可以添加。

Text("Hello World")
.accessibility(label: Text("Button"))
.gesture(
    DragGesture(minimumDistance: 5, coordinateSpace: .global)
        .onChanged { value in
          self.dragLocation = value.location
        }
        .onEnded { _ in
          self.dragLocation = .zero
        }
)
© www.soinside.com 2019 - 2024. All rights reserved.