[Dev, iOS] 디테일한 다크모드 적용하기

2021. 2. 6. 18:25·Dev/iOS
728x90

다크모드를 이용하는 방법은 여러가지가 있지만, 본인의 app target이 13.0 이상을 지원하고 있다면 Asset에서 image set을 다크, 라이트 모드에 따라 지원해주면 쉽게 해결 가능합니다.

필자의 경우도 13.0 이상의 앱을 개발중이기에 위와 같은 방법으로 상당 부분 해결하였지만, 문제는 해당 문제를 코드로 구현한 부분에서는 시스템 자체 모드 변경에 맞게 다크 모드로 바로 변경이 되지 않더군요.

해당 문제는

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)
        
        changeColor(type: textBolder) // 이 자리에 본인이 원하는 메소드 입력
    }

traitCollectionDidChange를 override 해줌으로서 해결이 가능했습니다.

    func changeColor(type: UIImageView) {
        if traitCollection.userInterfaceStyle == .dark {
            type.layer.borderColor = #colorLiteral(red: 0.07449612767, green: 0.07451748103, blue: 0.07449635118, alpha: 1).cgColor
        } else {
            type.layer.borderColor = #colorLiteral(red: 0.9489133954, green: 0.9490793347, blue: 0.948915422, alpha: 1).cgColor
        }
    }

저는 간단히 if문을 활용하여 시스템 모드가 변경될 시에 색깔을 어떻게 변경할지에 대해 함수로 표현하여 해당 문제를 해결하였습니다.

728x90

'Dev > iOS' 카테고리의 다른 글

[Dev, iOS] 백그라운드 진입 시 민감한 정보 가리기  (0) 2021.12.21
[Dev, iOS] 배경을 Gradient로 색칠하기  (0) 2021.12.06
[Dev, iOS] segue로 넘겨 받은 데이터를 다시 전달하는 법  (0) 2021.01.22
[Dev, iOS] iOS 앱에 카카오 애드핏(Kakao AdFit) 연동 및 구현하기  (1) 2021.01.15
[Dev, iOS] 네트워크 상태 확인하기  (0) 2021.01.11
'Dev/iOS' 카테고리의 다른 글
  • [Dev, iOS] 백그라운드 진입 시 민감한 정보 가리기
  • [Dev, iOS] 배경을 Gradient로 색칠하기
  • [Dev, iOS] segue로 넘겨 받은 데이터를 다시 전달하는 법
  • [Dev, iOS] iOS 앱에 카카오 애드핏(Kakao AdFit) 연동 및 구현하기
100두산
100두산
출발하게 만드는 힘이 동기라면, 계속 나아가게 만드는 힘은 습관이다.
  • 100두산
    정상에서 보자 ✈️
    100두산
  • 전체
    오늘
    어제
    • 분류 전체보기 (126)
      • Life (6)
        • living (1)
      • Research (6)
      • AI (20)
      • Dev (45)
        • iOS (28)
        • Web (4)
        • flutter (9)
        • etc (4)
      • PS (Problem Solving) (23)
      • Computer Science and Engine.. (21)
        • Data Structures and Algorit.. (13)
        • OOP (Object Oriented Progra.. (8)
      • etc (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    BOJ
    백트래킹
    PS
    TIP
    파이썬
    Python
    AI
    swift
    알고리즘
    D3
    자료구조
    SKTelecom
    SKT
    티스토리챌린지
    xcode
    오블완
    Challenger
    ios
    백준
    c++
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
100두산
[Dev, iOS] 디테일한 다크모드 적용하기
상단으로

티스토리툴바