gpt4 book ai didi

ios - 偏移不会在onTapGesture之后重置-SwiftUI

转载 作者:行者123 更新时间:2023-12-01 19:30:34 25 4
gpt4 key购买 nike

我试图创建一张在轻按时会滑动的卡,然后返回到原始位置而无需再次轻按
点按手势的.onEnded()函数不起作用
这是测试代码

struct ContentView: View {

@State var tapped = false
var body: some View {
VStack {
ZStack {
Rectangle()
.fill(Color.green)
.frame(height: 300)

Rectangle()
.fill(Color.red)
.frame(width: 290, height: 64)
.offset(y: tapped ? 118 : 0)
.onTapGesture {
self.tapped.toggle()
}
.animation(.easeInOut)
}

Spacer()
}.edgesIgnoringSafeArea(.all)
}
}

最佳答案

应用的属性不会自行神奇地重置-您需要在需要时更改它们。
这是最简单的解决方案。经过Xcode 11.4 / iOS 13.4测试
demo

var body: some View {
VStack {
ZStack {
Rectangle()
.fill(Color.green)
.frame(height: 300)

Rectangle()
.fill(Color.red)
.frame(width: 290, height: 64)
.offset(y: tapped ? 118 : 0)
.onTapGesture {
self.tapped.toggle()
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
self.tapped.toggle()
}
}
.animation(Animation.easeInOut(duration: 0.5))
}

Spacer()
}.edgesIgnoringSafeArea(.all)
}

关于ios - 偏移不会在onTapGesture之后重置-SwiftUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63012679/

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