簡體   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