반응형
iOS13에서 다크모드 지원이 된다.
iOS SDK내부에 보면 iOS12부터 UserInterfaceStyle을 지원한다고 되어 있는데 지난번 포스팅에서 Info에 User Interface Style을 Light로 넣으면 만사 오케이(?) 라는 말을 따라 적용했는데 이미지나 UILabel, UIView에서 색을 임의로 지정하거나 변경 한 경우에는 다크모드 지원이 제대로 되지 않는 문제가 발생한다.
따라서, 위젯에서 사용하는 UI컴포넌트의 배경색은 default로 잡고 Info에서 Interface Style을 제거한다.
그리고 이미지의 경우는 다음 코드를 이용해서 현재 단말의 다크모드 여부를 체크해서 그에 따라 변경을 하면 된다.
if (@available(iOS 13.0, *)) {
NSLog(@” traitCollection.userInterfaceStyle : %ld”, self.traitCollection.userInterfaceStyle);
}
반응형
'프로그래밍 > Xcode-iOS' 카테고리의 다른 글
모달창으로 앱스토어 링크 열기(SKStoreProductViewController) (0) | 2020.04.17 |
---|---|
target별 Podfile 작성하는 방법, def-end (0) | 2020.03.16 |
UITableView cell selectedColor(highlighted) Change (0) | 2020.01.16 |
iOS13 Device Token 문자열 얻는 방법. (11) | 2019.11.15 |
NSIndexPath와 scrollToRowAtIndexPath:atScrollPosition:animated 사용예. (0) | 2019.11.14 |