티스토리 뷰

iOS

[iOS] Frame vs Bounds

Sueaty 2021. 10. 29. 20:14

Frame과 Bounds는 UIView의 CGRect로 표현되는 instance property들로, 위치와 관련 된 값을 알고 싶을 때 사용합니다.

이들의 값은 아래 표와 같이 정리할 수 있는데요,

  Frame Bounds
좌표 superview에 의해 좌표 결정 자기 자신만의 좌표계 사용
크기(width, height) 자신과 외접하는 최소 사각형의 width, height 자기 자신의 width, height

좌표

(좌) Frame (우) Bounds

위 표에 의하면 frame의 좌표는 superview에 의해 결정되고 bounds는 자신의 좌표계를 사용한다고 쓰여있습니다. 왼쪽, 오른쪽 그림 모두 같은 위치에 같은 UIView가 그려져있는데요, Frame은 superview의 (70, 40) 떨어진 위치에 있기 때문에 좌표가 (70, 40)이지만 Bounds는 자기 자신으로부터 시작하기 때문에 좌표가 (0, 0)이 됩니다.

크기

(좌) Frame (우) Bounds

위 표에 의하면 frame의 width와 height는 자신의 외접사각형의 width와 height를 따릅니다. UIView에 어떤 변형도 없다면 frame, bounds가 비슷하겠지만, transformation이나 rotation을 할 경우 달라집니다. Frame은 UIView의 외접사각형의 좌표와 width, height를 따르게 됩니다. 왼쪽 그림을 보면, 회전 된 UIView와 별개로 x, y, width, height 값이 모두 외접사각형을 따르는 것을 알 수 있습니다. 반면에 bounds 는 변화가 없죠?

참고

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함