繁体   English   中英

Animate 移除 SwiftUI 视图故障

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM