[英]SwiftUI change and animate foreground color
我是 swiftUI 的新手,我正在嘗試將藍色視圖 flash 顯示為綠色半秒鍾,然后將 go 恢復為藍色。 我嘗試了多種方法。 我嘗試將顏色設置為 state 變量,但這不起作用。 在下面的當前代碼中,視圖只是保持藍色。 當前實施
您可以使用 State 變量來做到這一點
@State private var color = Color.red
var body: some View {
Circle()
.aspectRatio(contentMode: .fit)
.foregroundColor(color)
.onAppear {
withAnimation(.easeInOut(duration: 4)) {
self.color = Color.blue
}
DispatchQueue.main.asyncAfter(deadline: .now() + 4.0) {
withAnimation(.easeInOut(duration: 4)){self.color = Color.red }
}
}
}
我寫了這個,但它似乎跳過了第一個 animation。
@State private var color = Color.blue
var body: some View {
Circle()
.aspectRatio(contentMode: .fit)
.foregroundColor(color)
.onAppear {
withAnimation(.easeInOut(duration: 2)) {
self.color = Color.green
}
withAnimation(
Animation.easeInOut(duration: 2)
.delay(2)
) {
self.color = Color.blue
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.