iOS. Frame vs Bounds

sanghee·2021년 12월 23일
0

👩‍💻면접 스터디

목록 보기
10/22
post-thumbnail

매주 진행하는 면접스터디에서 아래의 질문들에 대한 정리를 모은 글입니다.
Interview_Question_for_Beginner/iOS
[Swift] Frame & Bounds
iOS ) CGRect와 CGSize의 차이, 그리고 CGPoint

📌Frame

상위뷰(SuperView)의 좌표 시스템에서의 뷰의 위치와 크기를 나타낸다.

📌Bounds

자신의 좌표 시스템에서의 뷰의 위치와 크기를 나타낸다.

뷰 자체의 크기를 알고 싶거나, 해당 뷰의 내부에 뷰를 그릴 때 사용한다.

CG(Core Graphics)

CGFloat, CGRect 등에서 붙여지는 CG란 Core Graphics의 약자이다. 코어 그래픽스는 2차원에서 그리는 작업에 사용되는 개념이다. Quartz 기술을 사용하여 가볍고 정확하게 그릴 수 있다.

  • CGFloat: 부동 소수점 숫자를 좌표로 하는 시스템에서 사용된다.
  • CGPoint: CGFloat 타입인 변수 x, y가 들어있는 구조체이다.
  • CGSize: CGFloat 타입인 width, height가 들어있는 구조체이다.
  • CGRect: CGPoint와 CGRect를 결합한 구조체이다.

📌CGRect

뷰의 Frame과 Bounds는 CGRect라는 구조체를 통해서 표현된다. CGRect는 사각형의 크기와 위치에 대한 정보를 가지고 있다.

  • origin: CGPoint 타입으로 사각형의 시작점을 나타낸다.
  • size: CGSize 타입으로 사각형의 높이와 너비를 나타낸다.

CGPoint

2차원 좌표계의 점(x좌표, y좌표)을 포함하는 구조체이다.

CGSize

width와 height를 포함하는 구조체이다.

CGRect == CGPoint(origin) + CGSize(size)

사각형의 위치와 크기를 포함하는 구조체이다. 원점인 origin과 크기인 size를 가지고 있다.

profile
👩‍💻

0개의 댓글