Open ZZBAE opened 1 year ago
Bounds는 자체 뷰의 rectangle을 기준으로 하는 좌표계이다. Frame는 부모 뷰의 rectangle을 기준으로 하는 좌표계이다.
만약 스크롤뷰가 하나 있다면 그 스크롤뷰 자체를 이동시키는게 Frame 기준의 이동이고, 스크롤을 스크롤 하게되면 Bounds 기준의 이동이다.
Bounds를 이해하는 나만의 팁!
내가 기차안에서 창문을 통해서 밖을 바라본다고 했을때 기차가 달리는 현상을 bounds의 x 좌표를 양의 값으로 이동시킨 거와 같다고 볼수 있다. 이경우 기준이 되는 좌표값은 창문이기 때문에 실질적으로는 창문이 달린 기차가 움직이는 것일 지라도, 바깥 풍경이 움직이는 것처럼 보인다(스크롤 뷰를 오른쪽으로 하는것과 같다.)
Bounds와 Frame은 모두 View의 크기(size)와 위치(origin)를 정의합니다. 하지만 두 측면에서 차이가 존재합니다.
Frame의 Size는 View 전체를 감싸는 사각형의 크기이고, Bounds는 View의 회전 여부의 상관 없이 View 자체의 크기입니다. Frame의 Origin은 상위 좌표계를 기준으로 하고 Bounds의 Origin은 자체 좌표계를 기준으로 합니다.