반응형
[iOS/Swift] 다크 모드(Dark mode) 무시하기 / 화면모드 고정하기
안녕하세요. 개발하는 정주입니다.
오늘은 앱에서 다크모드를 무시하는 방법에 대해 포스팅하려고 합니다.
바로 시작합니다.
다크모드를 무시하는 이유
iOS는 시스템에서 지정한 화면 모드가 기본적으로 앱에도 똑같이 적용됩니다.
다크 모드로 설정하면 앱도 다크 모드로 세팅되고 라이트 모드로 설정하면 앱도 라이트 모드가 적용되는 것이죠.
여기서 문제는 애플에서 지원하는 기본 View는 라이트 / 다크 모드에 따라 색과 음양이 자동으로 바뀌는데 저희가 직접 디자인한 View들은 그렇지 않다는 것입니다.
라이트 모드를 기준으로 디자인을 했는데 다크 모드가 적용되어 디자인이 엉망이 되면 아주 속상하고 당황스럽습니다.
이런 일을 방지하기 위해 화면 모드를 고정할 수 있습니다.
Info.plist 열기
Info.plist에서 Appearance 속성을 추가하면 화면 모드를 고정할 수 있습니다.
라이트 모드로 고정하고 싶다면 Light로 설정하시고 다크 모드로 고정하고 싶다면 Dark로 설정해주세요.
코드로는 아래와 같습니다.
<key>UIUserInterfaceStyle</key>
<string>Light</string>
특이한 점은 코드와 plist의 속성명이 다르다는 건데요.
Xcode가 버전 업이 되면서 plist의 속성명이 변경이 되었다고 합니다.
마무리 잡담
라이트 모드와 다크 모드, 두 가지의 디자인을 모두 고려하는 건 참 힘든 일입니다.
기술이 좋아질수록 고려해야 할 점이 점점 많아지니 재밌으면서 귀찮은 일 투성이네요.
이것을 즐겨야 롱런 개발자가 될 수 있겠죠?
감사합니다!
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형