Loading

데이터를 불러오거나 시스템이 처리 중일 때 사용하여 작업이 진행 중임을 시각적으로 알립니다. 로딩 중에는 사용자의 추가적인 입력을 막아 데이터 충돌이나 중복 요청과 같은 오류를 방지하는 역할을 합니다.

@MainActor struct Loading

Overview

Loading은 다양한 종류와 크기의 로딩 애니메이션을 제공합니다. Lottie 애니메이션을 사용하여 시각적으로 매력적인 로딩 인디케이터를 표시하며, 색상 및 크기를 커스터마이징할 수 있습니다.

// 기본 원형 로딩 애니메이션 사용
Loading(kind: .circular)

// 특정 크기와 색상의 Wanted 로딩 애니메이션 사용
Loading(kind: .wanted, size: CGSize(width: 100, height: 100))
    .foregroundColor(.blue)

// 로딩 오버레이로 적용
someView
    .loading($isLoadingState, type: .circular(.blue))

Topics

Initializers

init(kind: Kind, size: CGSize?)

Loading 컴포넌트를 초기화합니다.

  • Parameters
    ParameterDescription
    kind로딩 애니메이션의 종류 (.wanted 또는 .circular)
    size로딩 애니메이션의 크기 생략하면 기본값으로 nil 적용 (기본 크기 사용)

Instance Properties

var body: some View

뷰의 내용과 동작을 정의합니다.

Enumerations

enum Kind

로딩 애니메이션의 종류를 정의하는 열거형입니다.

Enumeration Cases

case circular(color: SwiftUI.Color?)

원형 회전 로딩 애니메이션

  • Parameters
    ParameterDescription
    color애니메이션의 색상을 지정합니다. 생략하면 기본값으로 nil 적용 (기본 색상 사용)
case wanted

Wanted 브랜드 스타일의 로딩 애니메이션

Associated Extensions

extension View
func loading(Binding<Bool>, type: Loading.Kind, dimmedColor: SwiftUI.Color) -> some View

현재 뷰에 로딩 인디케이터와 함께 로딩 오버레이를 적용합니다.

  • Parameters

    ParameterDescription
    isLoading로딩 상태를 제어하는 바인딩 불리언 값
    type로딩 애니메이션 종류 (.wanted 또는 .circular)
    dimmedColor오버레이 배경색, 생략하면 기본값으로 .clear 적용
  • Return Value

    로딩 기능이 적용된 뷰

  • Discussion

    로딩 상태일 때 뷰 위에 반투명 배경과 로딩 애니메이션을 표시합니다. 로딩 중에는 사용자 상호작용이 비활성화됩니다.

    @State private var isLoading = false
    
    contentView
        .loading($isLoading, type: .wanted)
        .onAppear {
            // 로딩 상태 시작
            isLoading = true
        }
    

Relationships

Conforms To

Swift.Sendable

SwiftUICore.View

© 2026 Wanted Lab, Inc.