적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

초보 iOS 개발자의 일상/개발 업무

[Swift iOS] 다크모드 방지법 how to prevent dark mode

hongssup_ 2021. 6. 22. 15:25
반응형

Dark Mode 사용 시 앱도 자동으로 다크 테마로 변경이 되는데, 

배경색이 흰 색일 경우 전부 검정색으로 변하게 된다... 

 

그거야 뭐 글자도 흰색으로 변하니까 괜찮다고 쳐도 상상치도 못한 매우 큰 문제가 있었다. ㅋㅋㅋㅋ

상품 라벨 프린트 시, 상품 정보를 UIView에 담아 이미지로 변환해 출력을 했었는데

다크모드일 때는 상품 정보 Label들이 다 흰색으로 바뀌어 라벨에 인쇄가 되지 않는 것이었다! ㅋㅋㅋㅋ 

원인을 찾고 매우 어이없고 황당하고 신기했음 ㅋㅋㅋㅋ

내 코드가 문제인가 싶어 쫄았었는데, 코드 문제는 아니라 다행쓰..ㅎㅎㅎ

 

그래서 찾게 된 다크 테마 방지법!!

방법은 간단하다. 

Info.plist 파일에 Appearance - Light 로 설정을 추가해주면 된다. 

 

+ 혹시 앱 전체는 아니고 특정 화면에서만 다크 테마를 방지하고 싶다면 ViewController 안에 다음 코드를 적어주면 된다.

override func viewDidLoad() {
    super.viewDidLoad()
    overrideUserInterfaceStyle = .light
    //overrideUserInterfaceStyle = .dark //다크모드
}

 

728x90
반응형