我在 VStack 上有一堆元素,其可见性取决于布尔值。像这样
if numberOfArrayElementsWithValidNames() != 0 {
Button1()
Button2()
Button3()
}
该数组可以通过多种形式操作,并且该数组可能包含具有有效或无效名称的元素。这就是为什么我不能使用
withAnimation
来制作动画。
如果该数组上的有效元素数量为零,我希望按钮消失;否则,如果计数不再为零,它们应该出现。但我希望它们以淡入/淡出的方式出现/消失,而不是像现在这样突然。
我该怎么做?
正如@jnpdx所说。在这种情况下,您可以使用
animation(_:value:)
。这是一个显式动画,当 value
发生变化时就会触发。我假设它是elements
。
Button1()
.opacity(numberOfArrayElementsWithValidNames == 0 ? 0 : 1)
.animation(.easeInOut, value: elements)