ModalNavigation

모달 내에서 사용하는 내비게이션 바 컴포넌트입니다.

@MainActor struct ModalNavigation

Overview

모달 상단에 제목, 뒤로가기 버튼, 추가 버튼 등을 포함하는 내비게이션 바를 제공합니다. 스크롤에 따라 배경 불투명도가 자동으로 조절되며 다양한 스타일을 지원합니다.

ModalNavigation()
    .variant(.normal)
    .titleView {
        Text("제목").bold()
    }
    .leadingContent {
        // 뒤로가기 동작 컴포넌트
    }
    .trailingContents(
        { /* 컴포넌트1 */ },
        { /* 컴포넌트2 */ }
    )

Topics

Structures

struct Variant

내비게이션 바의 외관을 정의하는 구조체입니다.

Instance Properties

var description: String

Type Properties

static let display: ModalNavigation.Variant

제목이 별도 줄에 표시되는 확장된 스타일

static let emphasized: ModalNavigation.Variant

강조된 큰 제목 스타일

static let extended: ModalNavigation.Variant

제목이 별도 줄에 표시되는 확장된 스타일

Deprecated

이름이 display로 변경되었습니다. 다음 메이저 업데이트 때 제거될 예정입니다.

static let floating: ModalNavigation.Variant

플로팅 스타일 (그라디언트, Progressive Blur 적용)

static let normal: ModalNavigation.Variant

기본 스타일의 내비게이션 바

Type Methods

static func floating(alternative: Bool, background: Bool) -> Variant

플로팅 스타일

Deprecated

파라메터 제거되었습니다. .floating으로 사용하십시오. 다음 메이저 업데이트 때 제거될 예정입니다.

Initializers

init(scrollOffset: Binding<CGFloat>)

내비게이션 바를 초기화합니다.

  • Parameters
    ParameterDescription
    scrollOffset스크롤 오프셋 바인딩, 생략하면 기본값으로 .constant(0) 적용

Instance Properties

var body: some View

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

Instance Methods

func backgroundColor(SwiftUI.Color) -> ModalNavigation

내비게이션 바의 배경색을 설정합니다.

  • Parameters

    ParameterDescription
    backgroundColor배경색
  • Return Value

    수정된 내비게이션 바 뷰

func leadingContent<V>(() -> V) -> ModalNavigation

내비게이션 바의 왼쪽 버튼 영역을 설정합니다.

  • Parameters

    ParameterDescription
    content왼쪽에 노출될 컨텐츠
  • Return Value

    수정된 내비게이션 바 뷰

func needHandleArea(Bool) -> ModalNavigation

바텀 시트의 핸들 영역 필요 여부를 설정합니다.

  • Parameters

    ParameterDescription
    needHandleArea핸들 영역 필요 여부
  • Return Value

    수정된 내비게이션 바 뷰

  • Discussion

    Note

    titleView(_:)와 함께 사용될 경우 이 메서드로 설정된 텍스트만 표시됩니다.

func scrollOffset(Binding<CGFloat>) -> ModalNavigation

스크롤 오프셋을 설정합니다.

  • Parameters

    ParameterDescription
    scrollOffset스크롤 오프셋에 대한 바인딩
  • Return Value

    수정된 내비게이션 바 뷰

func title(String) -> ModalNavigation

내비게이션 바의 타이틀을 설정합니다.

  • Parameters

    ParameterDescription
    text타이틀
  • Return Value

    수정된 내비게이션 바 뷰

func titleView<V>(() -> V) -> ModalNavigation

내비게이션 바의 타이틀 영역을 설정합니다.

  • Parameters

    ParameterDescription
    content타이틀 영역에 표시될 콘텐츠
  • Return Value

    수정된 내비게이션 바 뷰

  • Discussion

    Note

    Title(:) 메서드로 설정된 텍스트만 표시됩니다.

func trailingContents((() -> any View)...) -> ModalNavigation

내비게이션 바의 오른쪽 버튼 영역을 설정합니다.

  • Parameters

    ParameterDescription
    contents오른쪽에 노출될 컨텐츠 클로저들 (최대 3개까지 표시)
  • Return Value

    수정된 내비게이션 바 뷰

  • Discussion

    이 메서드는 배열 버전(trailingContents(_:))에 대한 편의 오버로딩입니다.

func trailingContents([() -> any View]) -> ModalNavigation

내비게이션 바의 오른쪽 버튼 영역을 설정합니다.

  • Parameters

    ParameterDescription
    contents오른쪽에 노출될 컨텐츠 배열 (최대 3개까지 표시)
  • Return Value

    수정된 내비게이션 바 뷰

  • Discussion

    최대 3개까지의 뷰를 클로저 배열로 전달할 수 있으며, 각 클로저는 다양한 타입의 View를 반환할 수 있습니다 (any View). 내부적으로는 모든 View를 AnyView로 타입을 지운 후 렌더링합니다.

func variant(Variant) -> ModalNavigation

내비게이션 바의 스타일을 설정합니다.

  • Parameters

    ParameterDescription
    variant내비게이션 바 스타일
  • Return Value

    수정된 내비게이션 바 뷰

Relationships

Conforms To

Swift.Sendable

SwiftUICore.View

© 2026 Wanted Lab, Inc.