정의
Frame
- "상위 뷰의 좌표계에서 뷰의 위치와 크기를 설명하는 프레임 사각형"
Bounds
- "자체 좌표계에서 뷰의 위치와 크기를 설명하는 경계 사각형"
기능
Frame
- 핵심은 "Super View(상위 뷰)의 원점으로부터 얼만큼 떨어져 있는지를 나타낸다."
- 위의 사진을 참고해서 핵심을 살펴보면 바로 이해할 수 있다.
- 또 한가지 더 있다.
- 뷰의 사이즈를 보는 관점이 다르다. 아래 사진을 살펴보자.
- 위 사진처럼 Frame은 View의 Size를 오른쪽과 같이 고유의 사각형으로 측정이 된다.
Bounds
- 핵심은 "해당 View가 이동하지 않고, Sub View(하위 뷰)를 반대방향으로 이동을 시킨다."
view1.bounds.origin.x = 10
view1.bounds.origin.y = 10
- 위 코드가 적용이 되었을 때, 오른쪽 사진처럼 View1의 Sub View(하위 뷰, View2)가 10의 반대 방향으로(-10) 이동한 것을 알 수 있다.
정리
Frame
- Frame은 View의 위치나 크기를 설정할 때 사용한다고 한다.
- Frame은 Super View(상위 뷰)의 좌표계기준, Bounds는 자기자신의 좌표계기준으로 origin/size가 결정된다.
Bounds
- Bounds는 View 내부에 그림을 그릴 때, transformation 후 View의 크기를 알고 싶을 때, Sub View(하위 뷰)를 정렬하는 것과 같이 내부적으로 변경하는 경우에 사용한다고 한다.
- Bounds를 옮기면 Sub View(하위 뷰)가 움직이는것처럼 보이는데 이 현상은 Super View(상위 뷰)의 Frame은 변하지 않고 그대로 있되, Sub View(하위 뷰)들을 그리는 좌표계의 기준이 달라지기 때문이라고 한다.
'iOS_Swift.zip' 카테고리의 다른 글
[iOS]App Thinning (0) | 2022.02.16 |
---|---|
[iOS]lazy 키워드 (0) | 2022.02.16 |
[iOS]Escaping Closure(@escaping) (0) | 2022.02.12 |
[iOS]SDWebImage 에러 (0) | 2022.02.11 |
[iOS]카카오 로그인(소셜) (0) | 2022.01.25 |