Ios 偏移量不';ONTAPPORATE-SwiftUI后无法重置
我试图创建一张卡片,当它被点击时,它会滑动,然后返回到原来的位置而不再点击 点击手势的.onEnded()函数不起作用 这是测试代码Ios 偏移量不';ONTAPPORATE-SwiftUI后无法重置,ios,swift,animation,swiftui,Ios,Swift,Animation,Swiftui,我试图创建一张卡片,当它被点击时,它会滑动,然后返回到原来的位置而不再点击 点击手势的.onEnded()函数不起作用 这是测试代码 struct ContentView: View { @State var tapped = false var body: some View { VStack { ZStack { Rectangle() .fill(Color.green) .f
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进行测试
应用的属性不会自行神奇地重置-您需要在需要时更改它们 这是最简单的解决方案。使用Xcode 11.4/iOS 13.4进行测试
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)
}