안녕하세요 :) 소들입니닷
아 뭔가 포스팅 순서가 엉망엉망인 거 같은데
뭐 그날그날 재밌는 거 포스팅하는 거닊하....ㅎ
쨌든 오늘으은
CGPoint
CGSize
CGRect
에 대해 알아볼 것임돠ㅎㅎ
이것을 알아보는 것은 Frame vs Bounds에 대해 포스팅 하려 했는데
선행으로 정리해두면 좋을 것 같아서 해봄!!!
모든 포스팅은 편의 말투로 합니다~!!
1. View의 위치와 크기를 결정하는 방법
자 여러분,
iOS에서 View를 그리기 위해선 어떤게 필요할까여??
단순하게 View 하나를 놓고 본다면
먼저, 어디에 그릴지 위치가 필요함
이처럼 View의 시작 위치를 알기위한 x, y 좌표가 필요하고,
이 좌표는 iOS 뷰 기준점인 왼쪽 꼭대기(0, 0)으로부터 시작함
또, 한 가지 더 필요함
Label 같은 유동적인 크기가 아니라면
시작지점부터 어느 크기만큼 그릴 건지 width, height가 필요함
자, 이렇게 기초적으로 View를 그릴 때 필요한 것들에 대해 알아 봤음
결론 적으로,
x 좌표
y 좌표
width
height
이 네가지가 필요함
읭 근데 뜬금없이 왜 위의 것들을 설명하냐 묻는다면
이제부터 설명할 CG 3총사가 View를 그릴 때 필수적으로 알아야하는 것이기 때문임
2. (x, y) 좌표를 설정할 수 있는 CGPoint
자, CGPoit라는 구조체 생김새에 대해 먼저 보겠음
여기서 중요한 것은 CGPoint는 x, y 라는 Float 변수를 가지고 있단 것임
따라서 View의 위치를 나타낼 땐 이 CGPoint를 이용함
CGPoint가 꼭 View의 위치를 나타낼 때만 쓰는 것은 아님
뭐 x, y를 나타내야 할 땐 언제든 CGPoint를 쓸 수 있음
실제 사용은 이런 식으루 함!!!
이제 CGPoint를 언제 쓰는지 알겠움!?!?!
자 그럼 이제 view의 size (width, height)는 어떤 녀석으로 설정할 지 감이 오지 않음? XD
3. (width, height) 사이즈를 설정할 수 있는 CGSize
자, CGSize란 구조체에 대해서도 보자
쨔쟌
CGSize는 width, height를 가지고 있음
따라서 view의 size를 설정할 때는 이 CGSize를 사용 함!
요롷게!!!
.
.
자 근데 여기서 질문
View를 구성할 땐 x, y, width, height가 필요하고
이들은 CGPoint, CGSize를 이용해서 구현한다 했는데..
실제 UIView를 init할 땐 frame의 파라미터로
CGPoint도, CGSize도 아닌 CGRect라는 놈이 들어감...
이 놈은 뭘까!?!!?!
3. CGSize와 CGPoint를 품은 CGRect
제목 말 그대로임 CGRect 구조체를 보면
자 보이심!!!!???? 👀
CGPoint 타입의 변수 origin
CGSize 타입의 변수 size
가 각각 존재함 ㅎㅎㅎㅎㅎ
따라서 View를 나타낼 때
origin이란 것은 x, y 좌표를,
size라는 것은 width, height를
나타낼 때 쓰는구나! 하면 됨
실제 View의 frame에 접근할 때에는
이런 식으루 CGPoint, CGSize를 포함한 CGRect를 통해 한번에 정의할 수 있음
근데 위 문법을 더 간단하게
이렇게 표현하여 사용함!!!!
실제 뷰를 정의 할 때도 이렇게 CGRect를 사용해서 정의하면
내가 지정한 x, y 좌표에 내가 지정한 width, height로
Viewㄱㅏ 그려진답니다 호호~~~~
.
.
당분간은 View에 대해 다룰 예정입니다 :)
재미쪙
'iOS > iOS' 카테고리의 다른 글
iOS) Frame vs Bounds 제대로 이해하기 (2/3) (30) | 2020.10.30 |
---|---|
iOS) Frame vs Bounds 제대로 이해하기 (1/3) (30) | 2020.10.28 |
iOS) UIView 그림자 만들기 (0) | 2020.10.22 |
iOS) @IBInspectable, @IBDesignable (3) | 2020.10.21 |
iOS) UIView 테두리 만들기 (2) | 2020.10.20 |