我有一个文本视图,它根据状态变量的值动态显示不同的文本。 当我循环遍历这些值时,如果新文本比旧文本长,我会得到一个椭圆(。。。) 在显示新文本之前。 经历这种情况的代码如下所示:
Text(flashModeDescription(flashMode: appSettings.flashMode))
.font(.body).foregroundColor(.white)
.opacity(flashModeDescVisible ? 1: 0)
.animation(.easeIn(duration: 0.25))
文本视图是HStack中的最后一项。
这是由于定义了动画造成的,因此下面可以修复
Text(flashModeDescription(flashMode: appSettings.flashMode))
.font(.body).foregroundColor(.white)
.animation(nil) // << here !!
.opacity(flashModeDescVisible ? 1: 0)
.animation(.easeIn(duration: 0.25))
所以动画只影响不透明度