Category

메인 카테고리 탭 아래에서 콘텐츠를 더욱 세분화하여 구분하는 하위 네비게이션 요소입니다. 사용자가 대분류에서 소분류로 자연스럽게 탐색할 수 있도록 돕고, 정보 구조를 명확하게 전달하는 역할을 합니다.

@MainActor struct Category

Overview

사용자가 카테고리 목록에서 하나의 항목을 선택할 수 있는 스크롤 가능한 컴포넌트입니다. 다양한 크기와 스타일을 지원하며, 선택된 항목에 대한 시각적 피드백을 제공합니다.

@State private var selectedIndex = 0
let categories = ["전체", "디자인", "개발", "마케팅", "경영"]

Category(
    selectedIndex: $selectedIndex,
    items: categories,
    actions: { index in
        print("선택된 카테고리: \(categories[index])")
    }
)
.variant(.alternative)
.size(.medium)
.horizontalPadding()

Topics

Initializers

init(selectedIndex: Binding<Int>, items: [String], itemModifier: (_ index: Int, _ chip: Chip) -> Chip, actions: (Int) -> Void)

카테고리 컴포넌트를 초기화합니다.

  • Parameters
    ParameterDescription
    selectedIndex현재 선택된 항목의 인덱스 바인딩
    items표시할 카테고리 항목 배열
    itemModifier카테고리 항목 수정 클로저, 인덱스와 Chip을 파라미터로 받음, 생략하면 기본값으로 원본 Chip을 반환하는 클로저 적용
    actions항목 선택 시 호출될 클로저, 생략하면 기본값으로 빈 클로저 적용

Instance Properties

var body: some View

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

Instance Methods

func horizontalPadding(Bool) -> Category

카테고리 컴포넌트의 좌우 패딩을 설정합니다.

  • Parameters

    ParameterDescription
    horizontalPadding패딩 적용 여부, 생략하면 기본값으로 true 적용
  • Return Value

    수정된 카테고리 인스턴스

func iconButton(Icon, action: () -> Void) -> Category

카테고리 컴포넌트 오른쪽에 표시할 아이콘 버튼을 설정합니다.

  • Parameters

    ParameterDescription
    icon표시할 아이콘
    action버튼 클릭 시 실행할 액션
  • Return Value

    수정된 카테고리 인스턴스

func size(Size) -> Category

카테고리 아이템 크기를 설정합니다.

  • Parameters

    ParameterDescription
    size아이템 크기 (.small, .medium, .large, .xlarge)
  • Return Value

    수정된 카테고리 인스턴스

func variant(Variant) -> Category

카테고리 아이템 스타일을 설정합니다.

  • Parameters

    ParameterDescription
    variant아이템 스타일 (.normal 또는 .alternative)
  • Return Value

    수정된 카테고리 인스턴스

func verticalPadding(Bool) -> Category

카테고리 컴포넌트의 상하 패딩을 설정합니다.

  • Parameters

    ParameterDescription
    verticalPadding패딩 적용 여부, 생략하면 기본값으로 true 적용
  • Return Value

    수정된 카테고리 인스턴스

Enumerations

enum Size

카테고리 사이즈를 결정하는 열거형입니다.

Enumeration Cases

case large

큰 크기

case medium

중간 크기

case small

작은 크기

case xlarge

큰 크기

enum Variant

카테고리 아이템의 종류를 결정하는 열거형입니다.

Enumeration Cases

case alternative

대체 스타일

case normal

기본 스타일

Relationships

Conforms To

Swift.Sendable

SwiftUICore.View

© 2026 Wanted Lab, Inc.