샘성의 iOS 개발 일지

Bounds 와 Frame 의 차이점을 설명하시오. 본문

iOS/면접

Bounds 와 Frame 의 차이점을 설명하시오.

SamusesApple 2023. 5. 9. 16:18
728x90

 

1. Frame

Frame

  자신(View)이 올라가있는 SuperView의 좌표를 바탕으로 자신(View)의 사이즈와 좌표를 나타낸다.

최하단의 사진에서 B view의 frame는 A view위에 올라가있으므로, CGRect(x: 20, y: 20, width: 40, height: 60)이 될 것이다.

 

 

 

2. Bound

Bound

  기본적으로 디폴트 좌표를 (x = 0, y = 0)을 갖고 있다. 사이즈인 width, height는 frame과 동일하다.

하지만 frame은 본인의 superView를 기준으로 좌표를 측정했으나, bound는 자신을 기준으로 본다.

즉, 하단의 사진에서 B view의 bound는 A view위에 있던 말던 CGRect(x: 0, y: 0, width: 40, height: 60)이 될 것이다.

왜냐면, bound는 자신을 기준으로 하기 때문이다.

 

 

 

 

 

 

하지만, 저 B view가 얌전히 똑바른 사각형으로 있지 않을 수도 있다.

예를 들면 한 꼭짓점이 위를 향한다던가.... 이렇게..

 

 

  이럴 경우, B view의 Frame 중 width와 height는 더이상 width: 40, height: 60이 아니다.

왜냐면 B view가 옆으로 기울면서 A view 영역에 차지하는 비중이 B view의 Frame width, height가 되기 때문이다.

하지만, B view의 bound는 바뀌지 않는다. 왜냐면 B view 자체의 영역만을 나타내기 때문이다.

728x90