Checkbox

Input의 checkbox는 Label을 포함한 Checkbox로, 하나 이상의 선택지를 선택하거나 해제할 수 있습니다. 복수 선택이 가능하며, 항목의 ‘선택됨’ 또는 ‘선택되지 않음’ 상태를 명확하게 표현합니다.

@MainActor struct Checkbox

Overview

  • 선택 상태 변경 시 콜백을 받을 수 있으며, 크기와 스타일을 조정할 수 있습니다.
  • 3가지 상태를 지원합니다: unchecked, checked, indeterminate
Checkbox(state: .unchecked) { state in
    print("체크박스 상태: \(state)")
}

Checkbox(checked: true) { checked in
    print("체크박스 선택 상태: \(checked)")
}

Checkbox(state: .unchecked, size: .small) { state in
    print("체크박스 상태: \(state)")
}

Topics

Initializers

init(checked: Bool, size: Size, onSelect: ((Bool) -> Void)?)

불리언 값을 이용해 체크박스를 생성합니다.

  • Parameters
    ParameterDescription
    checked초기 선택 상태
    size체크박스 크기. 생략하면 기본값으로 .medium 적용
    onSelect선택 상태 변경 콜백. 생략하면 기본값으로 nil 적용
  • Discussion

    Note

    indeterminate 상태가 필요하다면 checked 파라미터를 생략하고 state 파라미터를 사용하여 초기 상태를 지정할 수 있습니다.

init(state: State, size: Size, onSelect: ((State) -> Void)?)

상태 값을 이용해 체크박스를 생성합니다.

  • Parameters
    ParameterDescription
    state체크박스의 초기 상태
    size체크박스 크기. 생략하면 기본값으로 .medium 적용
    onSelect상태 변경 콜백. 생략하면 기본값으로 nil 적용
  • Discussion

    Note

    indeterminate 상태가 필요하지 않다면 state 파라미터를 생략하고 checked 파라미터를 사용하여 초기 선택 상태를 지정할 수 있습니다.

Instance Properties

var body: some View

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

Instance Methods

func bold(Bool) -> Checkbox

레이블을 볼드체로 설정합니다.

  • Parameters

    ParameterDescription
    isBold볼드 적용 여부, 생략하면 기본값으로 true 적용
  • Return Value

    수정된 체크박스 컴포넌트

  • Discussion

    Note

    이 설정은 labelTypography에서 지정한 굵기보다 우선합니다.

    Note

    레이블이 지정되지 않은 경우 이 설정은 적용되지 않습니다.

func disable(Bool) -> Checkbox

컨트롤을 비활성화합니다.

  • Parameters

    ParameterDescription
    disable비활성화 여부, 생략하면 기본값으로 true 적용
  • Return Value

    수정된 체크박스 컴포넌트

func label(String) -> Checkbox

레이블 텍스트를 설정합니다.

  • Parameters

    ParameterDescription
    text레이블에 표시할 텍스트
  • Return Value

    수정된 체크박스 컴포넌트

func labelTypography(Typography.Variant?, weight: Typography.Weight?, color: SwiftUI.Color?) -> Checkbox

레이블의 타이포그래피 속성을 설정합니다.

  • Parameters

    ParameterDescription
    variant레이블 변형, 생략하면 기본값으로 nil 적용
    weight레이블 굵기, 생략하면 기본값으로 nil 적용
    color레이블 색상, 생략하면 기본값으로 nil 적용
  • Return Value

    수정된 체크박스 컴포넌트

  • Discussion

    Note

    레이블이 지정되지 않은 경우 이 설정은 적용되지 않습니다.

func tight(Bool) -> Checkbox

레이블을 더 조밀한 레이아웃으로 표시합니다.

  • Parameters

    ParameterDescription
    tight조밀한 레이아웃 적용 여부, 생략하면 기본값으로 true 적용
  • Return Value

    수정된 체크박스 컴포넌트

  • Discussion

    Note

    레이블이 지정되지 않은 경우 이 설정은 적용되지 않습니다.

Enumerations

enum Size

체크박스 크기 타입입니다.

Enumeration Cases

case medium

중간 크기

case small

작은 크기

enum State

체크박스 상태 타입입니다.

Enumeration Cases

case checked

선택된 상태

case indeterminate

중간 상태

case unchecked

선택되지 않은 상태

Relationships

Conforms To

Swift.Sendable

SwiftUICore.View

© 2026 Wanted Lab, Inc.