본문 바로가기
🍎 Swift/iOS 학습 노트

[Swift🍎] UIColor를 CGColor에 할당해야 하는 경우

by 솔비님 2024. 10. 16.

 

 

사이드 프로젝트 진행 중 아래와 같이 UIColor를 CGColor로 할당해야 하는 경우가 있는데, 그 이유가 궁금해서 찾아보았다

 

 

먼저 두 가지 모두 색상을 나타내는 객체이지만 사용되는 환경과 목적에 따라 변환 유무가 결정된다

 

 

UIColor (UIKit 색상 객체)

  • UIKit에서 제공하는 UI의 대부분의 시각적 속성에서 사용할 수 있다(ex. UIView, UILabel, UIButton...)
  • OS와 iPad에 주로 사용되며, 다양한 기기 간 자동 색상 조정 및 다크모드 지원 같은 기능을 내장하고 있다
let view = UIView()
view.backgroundColor = UIColor.red

 

 

CGColor (Core Graphics 색상 객체)

  • 레이어 관련 속성에서 색상을 설정할 때 필요하다
  • 레이어는 뷰에 대한 세밀한 제어를 가능하게 한다(ex. 그림자, 테두리, 애니메이션)
  • UIColor.().cgColor로 변환하여 사용한다
let view = UIView()
view.layer.borderColor = UIColor.red.cgColor  // UIColor -> CGColor로 변환해서 사용
view.layer.borderWidth = 1.0