gpt4 book ai didi

swift - 如何停止动画出现在 SwiftUI 中的 View ?

转载 作者:行者123 更新时间:2023-12-03 09:23:52 49 4
gpt4 key购买 nike

我正在 SwiftUI 中为 View 设置动画,即使我在 .onAppear() 方法中没有它,它也会在 View 出现时立即设置动画。我希望它只在我按下文本时才动画,这就是我使用点击手势的原因。这是我的代码:

struct ContentView: View {
var body: some View {
Text()
.scaleEffect(cardTap ? 0.9 : 1)
.gesture(LongPressGesture().onChanged { value in
self.cardTap = true
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
self.cardTap = false
UIImpactFeedbackGenerator(style: .soft).impactOccurred()
}
}
).animation(.spring(response: 0.5, dampingFraction: 0.5, blendDuration: 0))
}
}

最佳答案

您可以限制动画仅由特定值触发,如下例所示

Text()
.scaleEffect(cardTap ? 0.9 : 1)
.gesture(LongPressGesture().onChanged { value in
self.cardTap = true
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
self.cardTap = false
UIImpactFeedbackGenerator(style: .soft).impactOccurred()
}
}
)
.animation(.spring(response: 0.5,
dampingFraction: 0.5, blendDuration: 0), value: cardTap) // << here !!

关于swift - 如何停止动画出现在 SwiftUI 中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62872586/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com