无法使用WithAnimation时如何制作动画?

问题描述 投票:0回答:1

我在 VStack 上有一堆元素,其可见性取决于布尔值。像这样

if numberOfArrayElementsWithValidNames() != 0 {
  Button1()
  Button2()
  Button3()
}

该数组可以通过多种形式操作,并且该数组可能包含具有有效或无效名称的元素。这就是为什么我不能使用

withAnimation
来制作动画。

如果该数组上的有效元素数量为零,我希望按钮消失;否则,如果计数不再为零,它们应该出现。但我希望它们以淡入/淡出的方式出现/消失,而不是像现在这样突然。

我该怎么做?

animation swiftui transition
1个回答
0
投票

正如@jnpdx所说。在这种情况下,您可以使用

animation(_:value:)
。这是一个显式动画,当
value
发生变化时就会触发。我假设它是
elements

Button1()
    .opacity(numberOfArrayElementsWithValidNames == 0 ? 0 : 1)
    .animation(.easeInOut, value: elements)
© www.soinside.com 2019 - 2024. All rights reserved.