bounds는 자기 자신의 좌표계를 기준으로 좌표와 사이즈를 리턴한다.좌표는 항시 자기 자신을 기준으로 하기 때문에 (0,0) 이지 않을까?
bounds의 좌표값을 이동시킨다는 것이 어떤 의미가 있을까?
와 같은 의문이 발생할 수 있다.
결과적으로 틀린 생각이다. 최초 초기화 시점에는 당연하게 (0,0)이지만, 항상 (0,0)이지 않을 수 있다. 이를 이해하기 위해서는 bounds의 좌표값을 이동시킨다는 것의 의미를 이해하고 넘어가야 한다.
특정 view를 초기화하면 bounds는 자기 자신의 왼쪽 최상단을 원점으로 하나의 좌표계를 생성한다. 이때, 실제 화면에 보이는 것은 view의 사이즈 크기만 보이지만, 실질적으로 무한하게 연장할 수 있는 좌표가 생성된 것이다. 이에 따라, bounds의 좌표를 이동시키면, 자기 자신에 귀속된 하위뷰의 좌표는 고정되어 있고, 자신의 좌표계에서 그 값만큼 이동하는 것이다.
결론적으로 bounds의 좌표를 이동한다는 것은, view를 일종의 창문으로 생각하고 창문의 위치를 이동시켜 다른 풍경을 보여준다는 것으로 설명할 수 있다.(물론 풍경이 view의 superview는 아니다. )

이러한 특성을 종합해 정리해보면, frame은 superview로 부터 상대적인 좌표, 사이즈 등을 활용할 수 있다. 반면, bounds는 자기 자신을 기준으로한 좌표, 뷰 자체의 크기를 알 수 있다.
| Frame | Bounds | |
|---|---|---|
| 기 준 | superview | 자기 자신 |
| 용 례 | - 오토레이아웃에서 기기에 따른 상대적인 좌표, 사이즈 | - view가 회전했을 때 view 자체의 크기 , scrollView에서 활용(창문에 어떤 부분을 나타낼지 결정) |