사이드 프로젝트 진행 중 아래와 같이 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
'🍎 Swift > iOS 학습 노트' 카테고리의 다른 글
[Swift🍎] RxSwift로 UITableView에 bind 하기 (0) | 2024.10.31 |
---|---|
[Swift🍎] RxGesture로 간편하게 View에 클릭이벤트 넣기 (0) | 2024.10.17 |
[Swift🍎] RxSwift에서 bind와 driver의 차이 (0) | 2024.10.14 |
[Swift🍎] UISearchController 키보드 숨김처리 (0) | 2024.09.26 |
[Swift🍎] pushViewController, setViewControllers (0) | 2024.09.25 |