본문 바로가기
iOS/iOS

Frame과 Bounds의 차이는 무엇인가?

by 황민우 2022. 6. 2.

Frame

- SuperView(상위뷰) 좌표시스템 내에서의 view 의 위치(origin) 과 크기(size)

 

Bounds

- view 자기 자신의 좌표시스템에서의 위치와 크기. (부모와의 위치관계와는 아무런 관계가 없다.)
- 자기 자신의 좌표시스템을 가리키기 때문에 기본적으로 origin 은 x:0, y:0 을 가리킨다.
- bounds 의 origin 을 변경한다는 것은 곧, subview 들이 화면상에서 drawing 되는 위치가 변경됨을 의미하며,
이게 subview 들의 frame 값을 변화시키는게 아니다.

- 부모뷰 좌표축이 변하면서 subview 가 그려져야하는 위치가 달라졌기 떄문이다.
- ScrollView/TabeView 등을 스크롤 할때, scrollView.bounds 가 변하고, 그리하여 subview 들의 그려지는 위치가 달라지는 것이 대표적인 예시이다.

 

참고

2022.02.25 - [iOS/iOS 면접 질문] - Frame과 Bounds의 차이

 

Frame과 Bounds의 차이

- frame과 bounds는 UIView의 instance property입니다. - UIView의 선언부를 보면, 둘 다 동일하게 CGRect 타입으로 선언되어있습니다. - CGRect는 사각형의 위치(CGPoint)와 크기(CGSize)를 포함하는 구조체입니..

seagreen83.tistory.com

 

'iOS > iOS' 카테고리의 다른 글

Stack View 스택뷰 (이론)  (0) 2022.06.04
ARC와 GC의 차이점  (0) 2022.06.03
function / closure 각각 value type 인가 reference type 인가?  (0) 2022.05.31
ARC에 대한 질문  (0) 2022.05.29
PLIST  (0) 2022.05.28

댓글