CGPoint와 CGSize, CGRect
안뇽하세욤 😄
요즘 부스트코스를 공부해보고 있는데, 공부하면서 배운 부분을 몇 가지 정리하려고 합니당~!
오늘은 CGPoint와 CGSize, CGRect에 대해서 정리해보겠습니당!!
View를 그릴 때에 알고 있어야 하는 가장 중요한 것이 무엇인가요?

위 그림처럼 뷰의 위치인 x, y의 좌표 그리고 높이와 너비의 크기가 가장 중요합니다.
* 좌표는 iOS 뷰 기준점인 왼쪽 꼭대기(0, 0)부터 시작
즉, 이것들이 iOS에서 View를 그릴 때 필수적으로 알아야 하는 것!!!!
1. CGPoint

애플문서를 확인해보면 CGPoint는 '2차원 좌표계에 점을 포함하는 구조' 라고 설명되어 있습니다.
말그대로 x, y의 위치를 나타낼 때 사용하는 것!!

요로코롬 x와 y의 위치를 지정해주어 기준점으로부터 현재 노란색 View의 위치가 지정이 되는 것입니다~!
* 코드 ↓
public struct CGPoint {
public var x: CGFloat // CGPoint는 x, y라는 Float 변수를 가지고 있음 !!
public var y: CGFloat
public init()
public init(x: CGFloat, y: CGFloat)
}
2. CGSize

애플문서에서는 CGSize를 '너비 및 높이 값을 포함하는 구조' 라고 설명하고 있습니다.
여기서 주의사항은!! CGSize는 너비와 높이의 값이지 사각형으로만 간주되지 않는다는 점!!
* 코드 ↓
public struct CGSize {
public var width: CGFloat
public var height: CGFloat
public init()
public init(width: CGFloat, height: CGFloat)
}
3. CGRect

애플문서에서는 CGRect를 '직사각형의 위치와 치수를 포함하는 구조' 라고 설명하고 있습니다.
CGRect는 CGPoint와 CGSize와 다르게 사각형이고, 너비와 높이 그리고 원점(origin)을 가지고 있습니다.
* 코드 ↓
public struct CGRect {
public var origin: CGPoint // CGPoint 타입의 변수 origin
public var size: CGSize // CGSize 타입의 변수 size
public init()
public init(origin: CGPoint, size: CGSize)
}
코드에서도 보이듯이 CGRect는 요로코롬 CGPoint와 CGSize를 포함하고 있다는 것을 알 수 있습니다!!!!
여기서 origin은 x, y 좌표를 나타내고 size는 width, height를 나타낼 때 사용하는 것!! 기억합시당 ~!
오늘은 여기까지 ~!
참고 ↓
https://zeddios.tistory.com/201
https://babbab2.tistory.com/42