【发布时间】:2020-03-25 18:28:14
【问题描述】:
根据 Apple 文档,我们应该能够将动画直接附加到过渡。例如:
.transition(AnyTransition.slide.animation(.linear))
方法的文档:
extension AnyTransition {
/// Attach an animation to this transition.
public func animation(_ animation: Animation?) -> AnyTransition
}
说:
总结
将动画附加到此过渡。
但我无法让它工作。看看这个最小可行的例子(你可以复制粘贴并自己尝试):
import SwiftUI
struct AnimationTest: View {
@State private var show = false
var body: some View {
VStack {
if show {
Color.green
.transition(AnyTransition.slide.animation(.linear))
} else {
Color.yellow
.transition(AnyTransition.slide.animation(.linear))
}
Button(action: {
self.show.toggle()
}, label: {
Text("CHANGE VIEW!")
})
}
}
}
struct AnimationTest_Previews: PreviewProvider {
static var previews: some View {
AnimationTest()
}
}
如您所见,根本没有动画发生。有任何想法吗?谢谢。
【问题讨论】:
-
我也遇到了这个问题并提交了一个错误报告。似乎仍然无法在 Xcode 12 / iOS 14 中运行。
标签: ios swift user-interface animation swiftui