Fallback view
화면에 표시할 데이터가 없을 때 사용자에게 현재 상황을 알려주는 요소입니다. 단순히 비어있음을 알리는 것을 넘어, 다음에 무엇을 해야 할지 안내하는 메시지와 액션 버튼을 함께 제공하여 사용 흐름이 끊기지 않도록 돕습니다.
데이터 없음, 검색 결과 없음(Empty) 뿐 아니라 404/네트워크 오류 등의 상태를 시각적으로 표현하고 사용자에게 적절한 안내/복구 액션을 제공합니다. 제목, 설명, 버튼 요소를 조합하여 다양한 상황에 맞는 대체(Fallback) 화면을 구성할 수 있습니다.
init(title: String?, description: String)
FallbackView 컴포넌트를 초기화합니다.
-
Parameters
-
Discussion
원하는 레이아웃을 구성하기 위해 제목을 선택적으로 제공할 수 있습니다. 설명은 필수이며, 제목과 설명 모두 최대 2줄로 표시되고 넘치는 텍스트는 말줄임 처리됩니다.
하단 버튼 영역과 상하 여백은 buttonActionArea(_:), padding(_:) 수정자로 구성합니다.
var body: some View
뷰의 내용과 동작을 정의합니다.
func buttonActionArea(ButtonActionArea?) -> FallbackView
하단 버튼 영역의 구성을 설정합니다.
-
Parameters
-
Return Value
수정된 FallbackView 인스턴스
func padding(Padding) -> FallbackView
콘텐츠 영역의 상하 여백 크기를 설정합니다.
-
Parameters
-
Return Value
수정된 FallbackView 인스턴스
-
Discussion
콘텐츠는 상위 뷰의 세로 중앙에 배치되며, 이 여백은 상위 뷰가 충분히 크지 않을 때 확보할 최소 여백입니다.
enum ButtonActionArea
하단 버튼 영역의 버튼 구성과 배치를 정의합니다.
-
Overview
버튼은 항상
Assistive색상의 외곽선(outlined) 스타일로 표시됩니다.
struct ButtonInfo
버튼에 표시할 텍스트와 탭 시 실행할 액션을 정의하는 구조체입니다.
init(text: String, action: () -> Void)
버튼 정보를 초기화합니다.
-
Parameters
case horizontal(main: ButtonInfo, alternative: ButtonInfo)
버튼 2개를 가로로 배치합니다. 대체 버튼이 왼쪽, 주 버튼이 오른쪽에 표시됩니다.
-
Parameters
case single(ButtonInfo)
버튼 1개를 배치합니다.
-
Parameters
case vertical(main: ButtonInfo, alternative: ButtonInfo)
버튼 2개를 세로로 배치합니다. 주 버튼이 위, 대체 버튼이 아래에 표시됩니다.
-
Parameters
enum Padding
콘텐츠 영역의 상하 여백 크기를 정의합니다.
case compact
좁은 여백(80)을 적용합니다. 화면 일부 영역만 대체할 때 사용합니다.
case normal
기본 여백(160)을 적용합니다. 화면 전체를 대체할 때 사용합니다.
Conforms To
Swift.Sendable
SwiftUICore.View
