Frame vs Bounds (feat. origin, size)

hoBahk·2022년 4월 8일
1

안녕하세요!
오늘은 Frame과 Bounds의 차이을 알아보도록 하겠습니다.

Frame

먼저 Frame에 대해서 알아보도록하겠습니다.

Frame에서 중요한 것은 SuperView 입니다.
SuperView를 기준으로 정해지기 때문입니다!

origin

FirstView의 frame의 origin을 알아보겠습니다.
frame은 SuperView의 (0,0)에서 얼마나 떨어졌는가 입니다!

FirstView의 SuperView는 DefaultView겠죠!
그러면 FirstView의 frame의 origin은 DefaultView의 (0,0)에서 떨어진 정도입니다.

그렇다면 FirstView의 frame의 origin은 (50,100)이 되겠습니다.

똑같이 ScondView의 frame의 origin은 FirstView의 (0,0)에서 떨어진 정도겠죠?

ScondView의 frame의 origin은 (41,47)이 되겠습니다.

size(width, height)

이번에는 width와 height에 대해서 알아보겠습니다.

아래는 frame의 width와 height입니다.
이거는 우리가 일반적으로 생각하는 것과 다르지 않습니다!

지금은 반듯한 직사각형으로 되어있어서 문제가 없는데...
문제는 이 직사각형이 기울어져 있으면 조금 달라집니다.
아래와 같이 기울어져 있다면 외부에 가상의 사각형을 씌워서 width와 height를 정하게 됩니다.

흠.. 그럼 기울어진 사각형의 실제 width, height는 어떻게 구할까요..?

이럴때 사용하는 것이 bounds라고 합니다..!

Bounds

origin

bounds는 자신의 뷰가 기준이 됩니다.
그래서 SuperView와는 상관 없이 (0,0)이 됩니다.

size(width, height)

bounds의 size는 자신의 뷰가 기준이 되기 때문에 뷰 자체의 영역을 말합니다.

origin은 변하지 않습니다!
원래의 origin을 가지고 있습니다!

이미지 작업과 설명이 부실했던 것 같네요.. ㅎ
잘 이해가 되시길 바라겠습니다.. ㅠ

감사합니다.

profile
호박에 줄 그어서 수박 되는 성장 드라마

0개의 댓글