개인공부

SwiftUI_ @Environment

h_luz 2024. 7. 23. 12:53

 

@Environment

:뷰의 환경 설정을 관리하고 공유하는 데 사용되는 속성 래퍼

 

폰트, 색상 스킴, 다크 모드 설정 등 시스템 제공 값을 쉽게 접근할 수 있게 합니다.
예를 들어, 현재의 컬러 스킴을 확인하기 위해 @Environment(\.colorScheme)를 사용할 수 있습니다.

 

상위 뷰에서 하위 뷰로 전달해야 하는 값들이 많아질 때,
@Environment를 사용하면 직접적인 프로퍼티 전달 없이 간편하게 값을 접근할 수 있습니다.

 

즉, 현재 환경 설정을 다른 환경에서도 적용하고 싶을 때 사용된다. (상위뷰에서 하위뷰로 전달할 수 있다.)

 

struct MyOtherScreen: View {
    
    @Environment(\.presentationMode) var presentationMode
    
    var body: some View {
        ZStack {
            Color.cyan.ignoresSafeArea()
                .navigationTitle("Cyan Screen")
            
            VStack {
                Button("BACK BUTTON", action: {
                    presentationMode.wrappedValue.dismiss()
                })
                NavigationLink("Move to 3rd Screen", destination: Text("3rd Screen"))
            }
        }
    }
}

 

presentationMode

: 현재 뷰의 프레젠테이션 상태를 제어하고 닫기 기능을 수행할 수 있게 해줍니다.
이를 통해 사용자는 모달 뷰를 쉽게 닫을 수 있습니다. (dismiss)

 

 

'개인공부' 카테고리의 다른 글

SwiftUI_ onAppear, onDisapear  (0) 2024.07.22
SwiftUI _ @State, @Binding  (1) 2024.07.22
SWiftUI _ MapKit  (1) 2024.07.20
WanderBoard _ 최종프로젝트 회고  (1) 2024.07.12
SwiftUI  (0) 2024.07.07