因此,当您在iPhone上打开一个应用程序时,它会从AppIcon过渡到以自然的方式看起来完全不同的视图。我尝试在下面的GIF图片中模拟动画。您将如何在SwiftUI中实现这种效果?
您可能需要刷新才能看到动画。
我将通过一些示例代码来增强这个问题,这些示例代码说明了我今晚的工作量,但是也许其他人会更快地进行演示。那太好了。
[让您了解动画在SwiftUI中的工作方式以及如何将它们组合在一起,我为您制作了这个小动画,它由两部分组成:
struct SplashScreen: View {
@State private var circleAlpha = 1.0
@State private var sizeCircle: CGFloat = 0
@State private var textAlpha = 1.0
func handleAnimations() {
runAnimationPart1()
let deadline: DispatchTime = .now() + 1
DispatchQueue.main.asyncAfter(deadline: deadline) {
self.runAnimationPart2()
}
}
func runAnimationPart1() {
withAnimation(.easeIn(duration: 1)) {
textAlpha = 0
}
}
func runAnimationPart2() {
withAnimation(.easeIn(duration: 1)) {
sizeCircle = 1400
}
}
var body: some View {
ZStack {
Text("Your App Icon")
.font(.largeTitle)
.foregroundColor(Color.green)
.opacity(textAlpha)
Circle()
.fill(Color.blue)
.frame(width: sizeCircle, height: sizeCircle,
alignment: .leading)
.opacity(circleAlpha)
}
.onAppear() {
self.handleAnimations()
}
} }