Skeleton
실제 콘텐츠를 불러오는 동안 해당 영역의 레이아웃 형태를 임시로 보여줍니다. 데이터가 로딩되고 있음을 직관적으로 인지할 수 있도록 돕고, 콘텐츠가 갑자기 나타날 때 발생할 수 있는 화면 깜빡임을 방지합니다.
데이터 로딩 중에 UI의 구조를 미리 보여주는 스켈레톤 뷰를 제공합니다. 텍스트, 사각형, 원형 등 다양한 형태의 스켈레톤 로딩 플레이스홀더를 지원합니다.
텍스트 스켈레톤은 Typography.Variant의 lineHeight를 기반으로 줄 수를 자동 계산하고, 첫 줄은 100%, 나머지는 가변 길이로 표시합니다.
struct Kind
스켈레톤 요소의 종류를 지정하는 구조체입니다.
var isCircle: Bool
원형 종류인지 여부
var isRectangle: Bool
사각형 종류인지 여부
var isText: Bool
텍스트 종류인지 여부
static var circle: Kind
원형 스켈레톤
static func rectangle(cornerRadius: CGFloat) -> Kind
사각형 모양의 스켈레톤을 생성합니다.
-
Parameters
-
Return Value
사각형 스켈레톤 Kind
static func text(alignment: Align, lengths: [Length], cornerRadius: CGFloat, lineNumber: Int) -> Kind
static func text(alignment: Align, lengths: [Length], cornerRadius: CGFloat, lineNumber: Int) -> Kind텍스트 줄을 나타내는 스켈레톤을 생성합니다.
Deprecated
text(variant:alignment:cornerRadius:)를 사용하세요
-
Parameters
-
Return Value
텍스트 스켈레톤 Kind
static func text(variant: Typography.Variant, alignment: Align, cornerRadius: CGFloat) -> Kind
텍스트 줄을 나타내는 스켈레톤을 생성합니다.
-
Parameters
-
Return Value
텍스트 스켈레톤 Kind
-
Discussion
variant의lineHeight를 기반으로 뷰 높이에 맞는 줄 수를 자동 계산하고, 첫 줄은 100%, 나머지는 가변 길이로 표시합니다.
struct SkeletonView
스켈레톤 로딩 UI를 표시하는 뷰입니다.
init(Kind)
스켈레톤 뷰를 초기화합니다.
- Parameters
var body: some View
뷰의 내용과 동작을 정의합니다.
func color(SwiftUI.Color) -> Skeleton.SkeletonView
스켈레톤 뷰의 색상을 설정합니다.
-
Parameters
-
Return Value
수정된 SkeletonView 인스턴스
func opacity(CGFloat) -> Skeleton.SkeletonView
스켈레톤 뷰의 투명도를 설정합니다.
-
Parameters
-
Return Value
수정된 SkeletonView 인스턴스
enum Align
스켈레톤 요소의 정렬 방식을 지정하는 열거형입니다.
case center
중앙 정렬
case leading
좌측 정렬
case trailing
우측 정렬
extension View
func skeleton<V>(isPresented: Bool, skeletonView: () -> V) -> some View
현재 뷰에 커스텀 스켈레톤 로딩 UI를 적용합니다.
-
Parameters
-
Return Value
스켈레톤 기능이 적용된 뷰
func skeleton(isPresented: Bool, kind: Skeleton.Kind, color: SwiftUI.Color?, opacity: CGFloat?, size: CGSize?) -> some View
현재 뷰에 미리 정의된 스켈레톤 로딩 UI를 적용합니다.
-
Parameters
-
Return Value
스켈레톤 기능이 적용된 뷰
