From 550bf0c1c7b2712ce7640fde3394dfe2e02bd73f Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Mon, 21 Aug 2023 03:07:57 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A1=9C=EB=94=A9=20=EC=95=A0=EB=8B=88?= =?UTF-8?q?=EB=A9=94=EC=9D=B4=EC=85=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SodaLive/Sources/Common/LoadingView.swift | 54 ++++++----------------- 1 file changed, 14 insertions(+), 40 deletions(-) diff --git a/SodaLive/Sources/Common/LoadingView.swift b/SodaLive/Sources/Common/LoadingView.swift index 7e7d159..891b54d 100644 --- a/SodaLive/Sources/Common/LoadingView.swift +++ b/SodaLive/Sources/Common/LoadingView.swift @@ -8,57 +8,18 @@ import SwiftUI struct LoadingView: View { - @State var index = 0 - - @State var timer = Timer.publish(every: 0.35, on: .current, in: .common).autoconnect() - var body: some View { ZStack { Color.primary.opacity(0.2) .ignoresSafeArea() ZStack { - Image("loading_1") - .resizable() + ActivityIndicatorView() .frame(width: 100, height: 100) - .opacity(index == 0 ? 1.0 : 0.0) - - Image("loading_2") - .resizable() - .frame(width: 100, height: 100) - .opacity(index == 1 ? 1.0 : 0.0) - - Image("loading_3") - .resizable() - .frame(width: 100, height: 100) - .opacity(index == 2 ? 1.0 : 0.0) - - Image("loading_4") - .resizable() - .frame(width: 100, height: 100) - .opacity(index == 3 ? 1.0 : 0.0) - - Image("loading_5") - .resizable() - .frame(width: 100, height: 100) - .opacity(index == 4 ? 1.0 : 0.0) } .frame(width: 150, height: 150) - .background(Color.white) - .cornerRadius(14) - .shadow(color: Color.primary.opacity(0.07), radius: 5, x: 5, y: 5) - .shadow(color: Color.primary.opacity(0.07), radius: 5, x: -5, y: -5) } .frame(maxWidth: .infinity, maxHeight: .infinity) - .onReceive(timer) { _ in - DispatchQueue.main.async { - if index == 4 { - index = 0 - } else { - index += 1 - } - } - } } } @@ -67,3 +28,16 @@ struct LoadingView_Previews: PreviewProvider { LoadingView() } } + +struct ActivityIndicatorView: UIViewRepresentable { + func makeUIView(context: Context) -> some UIActivityIndicatorView { + let activityIndicator = UIActivityIndicatorView(style: .large) + activityIndicator.color = UIColor(hex: "80D8FF") + return activityIndicator + } + + func updateUIView(_ uiView: UIViewType, context: Context) { + uiView.startAnimating() + } +} +