Ios 动画消除SwiftUI视图故障
我想在底部的视图中滑动,以显示一个小便笺,然后在几秒钟后滑出 滑入工作正常,但滑出时会出现故障:Ios 动画消除SwiftUI视图故障,ios,swift,swiftui,Ios,Swift,Swiftui,我想在底部的视图中滑动,以显示一个小便笺,然后在几秒钟后滑出 滑入工作正常,但滑出时会出现故障: if let err = error { ErrorView(err) .animation(.spring()) .transition(.move(edge: .bottom)) .onAppear(perform: errorAppeared) } 当有错误时,它会很好地转换,但当没有错误时
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 !!
不知怎么的,还是不为我工作。。我必须设置一个bool或其他可以触发它的东西,并移动我的错误,使其处于未观察到的状态。哦,在另一个测试视图中,我能够使其工作,而无需将其置于视图堆栈之外,我想这可能像是我的链条上的一个顺序,或者说,当请提供可复制的例子时,它有点像是被烘焙成一个api的东西,让我把它变小,我会看看我以后是否能把它删减,对不起,我对它有点失望,需要暂时搁置它以等待进展
private func clearError() {
self.error = nil
}