Toy Project/Apple Music (iOS)

13. 애플 뮤직 어플 마무리 (Dark Mode)

개발자킹콩 2021. 3. 2. 17:49

애플 뮤직앱 마무리

 

다크모드와 기본모드에서의 색 차이는 알아서 변경되어 진다.

 

 

 

 

 

여기서 updateTintColor은 뭐하는 놈일까??

 

 

 

 

우리는 player View를 살펴보면 재생버튼과 Slider의 색이 파란색으로 설정되어 있다.

 

다크모드에서는 흰색으로 설정하고

화이트모드에서는 검은색으로 설정하는 코드가

위에 주석으로 구현된 코드이다.

 

그런데 아직 구현되어 있지않아 오류가 난 것이다.

그렇다면 추가해주자

 

 

 

 


 

DefaultStyle

 

 

 

코드를 이해해보자!!

 

우리는 tint color을 다음과 같이 정의하였다.

UIColor을 반환 시킬건데, 반환할 때 조건이 존재한다. 

우리는 traitCollection을 통해 현재 dark모드인지 아닌지를 파악할 수 있다. 

현재 interfaceStyle가 dark모드이면 tint를 white의 값을 가진 UIColor객체로 반환하는 것이다.

아니라면 black의 값을 가진 UIColor객체를 반환한다. 

 

 

Dark mode 자체가 ios13 이후부터 제공된다.

Ios13이상이 아니라면 기본모드라고 생각하고 .black로 반환하는 것이다.

 

 

 

 

 

 

 

다음과 같이 updateTineColor() 을 구현하고 View가 보이기 전 이 메소드를 호출하여

아래와 같이 다크모드에서는 흰색, 기본모드에서는 검은색이 되도록 구현된 것이다.