「SwitUI」動画を含むLaunch Screenの実装
12693 ワード
📌 Launch Screen:Podaena
Launch Screenは、ユーザーがアプリケーションを起動するときに最初に遭遇する画面です.
スタート画面が視覚的に魅力的であれば、ユーザーにより大きな満足感を与えることができますが、スタート画面がなければ白い画面にロードするだけでは、最初からアプリケーションへの信頼度が失われる可能性があります.
だから、最初の画面は些細なように見えますが、決して些細ではありません.
さて今日は、より素晴らしいスタート画面のために、SWIFTUIにアニメーション制作のグラデーションのあるスタート画面を加えていきましょう.
💻 ウェルカムスクリーンの実装
Gradient
まず、画面の背景色を設定するには、最終位置:グラデーションバックグラウンドの実装に記述されたコードが使用されます.
LinearGradient(gradient: Gradient(colors: [Color("PrimaryColor"), Color("SubPrimaryColor")]),
startPoint: .top, endPoint: .bottom)
.edgesIgnoringSafeArea(.all)
View for Launch Screen
次に、Launch Screenとして使用するビューを作成します.
extension ContentView {
var launchScreenView: some View {
ZStack(alignment: .center) {
LinearGradient(gradient: Gradient(colors: [Color("PrimaryColor"), Color("SubPrimaryColor")]),
startPoint: .top, endPoint: .bottom)
.edgesIgnoringSafeArea(.all)
Image("LaunchScreenImage")
}
}
}
アプリケーションの開始点ContentViewの下に新しい拡張子を作成し、Assetに予め配置された画像を背景色に上書きしてViewを構成します.次に、ContentViewでBoolタイプ変数とif文を使用してウェルカム画面を開きます.
struct ContentView: View {
@State var isLoading: Bool = true
var body: some View {
ZStack {
// 앱 화면
Text("Launch Screen Demo").font(.largeTitle)
// Launch Screen
if isLoading {
launchScreenView
}
}
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now() + 2, execute: {
isLoading.toggle()
})
}
}
}
アプリケーションは次の順序でレンダリングされます.Animation
ここで顔を白くするために簡単な動画を流しましょう
ContentViewのコードを次のように変更します.
struct ContentView: View {
@State var isLoading: Bool = true
var body: some View {
ZStack {
// 1) CHANGED: zIndex added
// 앱 화면
Text("Launch Screen Demo\n: with Animation").font(.largeTitle).zIndex(0)
// Launch Screen
if isLoading {
// 2) CHANGED: transition and zIndex added
launchScreenView.transition(.opacity).zIndex(1)
}
}
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now() + 2, execute: {
3) CHANGED: withAnimation added
withAnimation { isLoading.toggle() }
})
}
}
}
1)zIndex()は、ZStackがサブビューを自動的に認識できないため、アニメーションを適用しないことを防止するためである.2)LaunchScreenViewが消えた場所にあります.遷移(.不透明)を追加します.
3)isLoading変数値を切り替える点をwithAnimation{}にバインドする.
前述したように、次のように消えていくアニメーションの開始画面が表示されます.
📌 の最後の部分
Animationを適用する方法と種類は上記の方法のほかにも多くあるが,今回の位置決めでは多くの方法が徐々に消えていく.transition(.不透明)を用いて実装を試みた.
個人的には、Frontend開発者の実力は、適切でユーザーフレンドリーなアニメーションの実現にかかっていると考えています.
勉强は终わりがない.もっと頑張ろう!
printf("Thank You!\n");
printf("Posted by Thirsty Developer\n");
Reference
この問題について(「SwitUI」動画を含むLaunch Screenの実装), 我々は、より多くの情報をここで見つけました https://velog.io/@jyw3927/SwiftUI-Launch-Screen-구현하기-Gradient-Animationテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol