[英]Animate Remove SwiftUI View Glitches
我想在底部的视图中滑动,显示一个小笔记,然后在几秒钟后滑出..
滑入工作正常,但当它滑出时,它会出现故障:
if let err = error {
ErrorView(err)
.animation(.spring())
.transition(.move(edge: .bottom))
.onAppear(perform: errorAppeared)
}
当有错误时,它过渡得很好,但当没有时,它不会向下滑动或反转,而是从视图中弹出
我正在调用这个函数来清除视图:
private func clearError() {
withAnimation {
self.error = nil
}
}
现有的问题都没有帮助,我尝试在“onReceive”函数和我能找到的所有其他答案中做一些事情,大多数人说它应该可以工作,或者使用动画或过渡,我相信我已经尝试了大多数组合在这一点上我很卡
我认为动画只是在错误的地方 - 将其置于容器保持条件并将其链接到依赖状态变量,如下所示
VStack { // << can be as-is, only for condition
if let err = error {
ErrorView(err)
.transition(.move(edge: .bottom))
.onAppear(perform: errorAppeared)
}
}
.animation(.spring(), value: error) // << here !!
然后以常规方式激活
private func clearError() {
self.error = nil
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.