Archive/꼼꼼한 재은씨 시리즈

UI 커스터마이징 bounds 속성과 frame속성 비교

lgvv 2021. 3. 12. 13:44

frame 속성과 bounds 을 보기 쉽게 (x,y,width,height) 형식으로 나타내면 다음과 같습니다.

 

프레임 속성과 바운즈 속성에서 x,y 좌표 기준이 다른데,

frame 속성은 슈퍼 뷰가 기준이다 즉, 슈퍼뷰의 원점 (0,0)으로 하여 좌표를 계산

bounds 속성은 좌표의 기준점이 자기 자신이다. 즉, 화면 전체의 원점과는 별개로 항상 자기 자신을 좌표의 기준으로 삼는다.

 

frame - 위치나 크기 

bounds - 객체간의 관계에서 주로 사용

 

bounds의 좌표를 강제로 변경하면 뷰의 위치는 변하지 않지만, 그 뷰의 내뷰에 정의된 서브 뷰들은 슈퍼 뷰가 이동한 것으로 인식하고 자신들의 위치를 그에 따라서 이동시킨다. 이는 자식 뷰가 기준을 이동한 것으로 인식하고 자신들의 위치를 그에 따라 이동시켜 버리기 때문.

 

이 같은 특성을 이용해 외뷰 뷰는 그대로 둔 채 내부 뷰만 위치를 이동시키거나 스크롤 기능 처리할 수 있다.

주로 이미지 ㅂ어에서 큰 이미지를 드래그해 볼 수 있도록 처리할 때 사용하는 방법