gpt4 book ai didi

ios - SwiftUI:动画文本颜色 - foregroundColor()

转载 作者:行者123 更新时间:2023-12-04 14:08:20 25 4
gpt4 key购买 nike

我一直在尝试为 UI 的各个部分设置动画,但似乎您无法为 SwiftUI 文本的前景颜色设置动画?我想在状态改变时平滑地切换一些文本的颜色。如果我为文本周围 View 的背景颜色设置动画效果,这很好用,但前景色不起作用。有没有人有幸为这样的变化制作动画?不确定这是 Xcode 测试版错误还是它的预期功能......

Text(highlightedText)
.foregroundColor(color.wrappedValue)
.animation(.easeInOut)

// Error: Cannot convert value of type 'Text' to closure result type '_'

最佳答案

有一个更简单的方法,借鉴 Apple 的“动画 View 和过渡”教程代码。 HikeGraph 中 GraphCapsule 的实例化证明了这一点。

foregroundColor不能动画,colorMultiply能够。将前景色设置为白色并使用 colorMultiply 设置您想要的实际颜色。要将动画从红色变为蓝色:

struct AnimateDemo: View {
@State private var color = Color.red

var body: some View {
Text("Animate Me!")
.foregroundColor(Color.white)
.colorMultiply(self.color)
.onTapGesture {
withAnimation(.easeInOut(duration: 1)) {
self.color = Color.blue
}
}
}
}

struct AnimateDemo_Previews: PreviewProvider {
static var previews: some View {
AnimateDemo()
}
}

关于ios - SwiftUI:动画文本颜色 - foregroundColor(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57832439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com