Filter button

콘텐츠 필터링을 위한 컴팩트한 선택 컨트롤로, Icon과 Label을 포함하며, 선택 상태에 따라 배경색과 테두리가 변경되어 사용자에게 명확한 시각적 피드백을 제공합니다.

@MainActor struct FilterButton

Overview

이 컴포넌트는 사용자가 항목을 필터링하는 데 사용할 수 있는 탭 가능한 UI 요소입니다. 다양한 크기와 스타일을 지원하며, 활성/비활성 상태를 표시할 수 있습니다.

FilterButton(
    variant: .solid,
    size: .medium,
    text: "카테고리",
    state: $state
)
.backgroundColor(.semantic(.primaryNormal))
.fontColor(.semantic(.staticWhite))
.active(true, label: "최신순")

Topics

Initializers

init(variant: Variant, size: Size, text: String, state: Binding<State>, handler: (() -> Void)?)

필터 버튼을 초기화합니다.

  • Parameters
    ParameterDescription
    variant버튼의 외관 스타일, 생략하면 기본값으로 .solid 적용
    size버튼의 크기, 생략하면 기본값으로 .medium 적용
    text버튼에 표시할 텍스트
    state버튼의 확장 상태 바인딩, 생략하면 기본값으로 .constant(.normal) 적용
    handler버튼 클릭 시 실행할 핸들러, 생략하면 기본값으로 nil 적용

Instance Properties

var body: some View

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

Instance Methods

func active(Bool, label: String?) -> FilterButton

버튼의 활성화 상태와 레이블을 설정합니다.

  • Parameters

    ParameterDescription
    active활성화 여부
    label활성화 상태일 때 표시할 레이블, 생략하면 기본값으로 nil 적용
  • Return Value

    수정된 버튼 인스턴스

func activeColor(SwiftUI.Color) -> FilterButton

버튼의 활성화 상태 색상을 설정합니다.

  • Parameters

    ParameterDescription
    color활성화 상태일 때의 색상
  • Return Value

    수정된 버튼 인스턴스

func backgroundColor(SwiftUI.Color) -> FilterButton

버튼의 배경색을 설정합니다.

  • Parameters

    ParameterDescription
    color적용할 배경색
  • Return Value

    수정된 버튼 인스턴스

func disabled(Bool) -> FilterButton

버튼의 비활성화 여부를 설정합니다.

  • Parameters

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

    수정된 버튼 인스턴스

func fontColor(SwiftUI.Color) -> FilterButton

버튼의 텍스트 색상을 설정합니다.

  • Parameters

    ParameterDescription
    color적용할 텍스트 색상
  • Return Value

    수정된 버튼 인스턴스

func iconColor(SwiftUI.Color) -> FilterButton

아이콘의 색상을 설정합니다.

  • Parameters

    ParameterDescription
    color아이콘에 적용할 색상
  • Return Value

    수정된 버튼 인스턴스

Enumerations

enum Size

버튼의 크기를 정의합니다.

Enumeration Cases

case large

큰 크기

case medium

중간 크기

case small

작은 크기

case xsmall

가장 작은 크기

Initializers

init?(rawValue: String)
enum State

버튼의 확장 상태를 정의합니다.

Enumeration Cases

case expand

확장된 상태 (드롭다운 표시)

case normal

기본 상태

enum Variant

버튼의 외관을 결정하는 열거형입니다.

Enumeration Cases

case outlined

테두리만 있는 아웃라인 스타일

case solid

배경색이 있는 실선 스타일

Relationships

Conforms To

Swift.Sendable

SwiftUICore.View

© 2026 Wanted Lab, Inc.