swiftui alert 부분 다크모드

swiftui alert 부분 다크모드

작성일 2023.03.17댓글 1건
    게시물 수정 , 삭제는 로그인 필요

앱 내부에서 다크모드, 라이트모드 변경하는 걸 구현했는데 이상하게 alert 창은 아이폰 설정 자체의 시스템 색상으로만 적용이 되네요 어떻게 해결하죠??


#swiftui alert #swiftui alert custom #swiftui alert textfield #swiftui alert action #swiftui alert 띄우기 #swiftui alert sheet #swiftui alert button #swiftui alert deprecated #swiftui alert toast #swiftui alert dismiss button action

profile_image 익명 작성일 -

SwiftUI에서 Alert를 생성할 때, Alert의 배경색을 시스템 색상에 맞게 설정하면 시스템 색상 모드가 변경될 때 Alert의 배경색도 함께 변경됩니다. 이를 위해서는 Alert 구조체의 AlertStyle 프로토콜을 구현하여 사용해야 합니다.

다음은 AlertStyle 프로토콜을 구현한 예시 코드입니다. 여기에서는 시스템 색상 모드에 따라 배경색을 조절하도록 구현되어 있습니다.

struct CustomAlertStyle: AlertStyle { @Environment(\.colorScheme) var colorScheme func body(content: Content) -> some View { content .background(colorScheme == .dark ? Color.black : Color.white) .foregroundColor(colorScheme == .dark ? Color.white : Color.black) .cornerRadius(10) } }

이후, Alert를 생성할 때 위에서 구현한 CustomAlertStyle을 적용하면 됩니다.

struct ContentView: View { @Environment(\.colorScheme) var colorScheme @State private var showAlert = false var body: some View { Button("Show Alert") { showAlert.toggle() } .alert(isPresented: $showAlert) { Alert(title: Text("Alert"), message: Text("This is an alert."), dismissButton: .default(Text("OK"))) .background(colorScheme == .dark ? Color.black : Color.white) .foregroundColor(colorScheme == .dark ? Color.white : Color.black) .cornerRadius(10) .alertStyle(CustomAlertStyle()) } } }

위와 같이 구현하면 Alert의 배경색이 시스템 색상 모드에 따라 변경됩니다.

K7 18년형 그랜저보다

... 가격적인 부분에서 K7이 더 괜찮다고 생각되는데... 19인치 다크 스퍼터링 휠 내장 품격이 느껴지는... ※ 위 연비는 표준모드에 의한 연비로서 실 주행연비와 차이가...

프로토스빌드 자세하게!! 내공[90]+10

... 제가 알고 싶은 빌드는 옵드라 ,다크 ,리버... 프로들의 경기에서도 대부분 위의 전략들을 많이 사용하죠.... 생산된 모든 공격 유닛으로 러쉬를 갑니다. 그리고 게이트의...

UIkit,swiftUI 관하여 질문드립니다.

... 했던 부분들이 단순히 UI, 버튼, 툴?을 끌어서 화면에... 또한 유동적 글자 크기 조절, 다크 모드, 현지화 및 손쉬운 사용을 자동 지원하므로 SwiftUI 코딩 첫...