Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 텍스트뷰 자동 스크롤
- 드로어블
- 텍스트뷰 스크롤
- textview auto scroll
- 테이블_레이아웃
- 수명주기
- 부스트코스
- 액션바
- 레이아웃
- 제약 레이아웃
- 스낵바
- 안드로이드
- 안드로이드_프로그래밍
- 안드로이드 스튜디오
- 자바
- 코드리뷰
- IOS
- 상대 레이아웃
- 프로그래밍
- 뷰
- edwith
- Swift
- 아이폰
- RecyclerView
- SceneDelegate
- 프로젝트
- 서비스
- 리니어 레이아웃
- 코틀린
- 데이터베이스
Archives
- Today
- Total
듀다의 성장개발로그
iOS Swift - Frame과 Bounds 본문
Frame과 Bounds의 역할은 UIView의 instance property(객체 내부에서 사용하는 변수 속성)입니다.
객체의 어떤 정보를 나타내는 좌표(x,y), 너비, 높이 값 등을 갖는 멤버 변수라는 뜻으로
즉 Frame과 Bound는 변수입니다.
Frame과 Bounds의 차이점에 대해 이야기하면,
Frame은 SuperView를 기준으로 좌표를 표시하지만
Bounds는 자기 자신을 기준으로 좌표를 표시합니다.
여기서 SuperView란?
뷰 안에는 뷰를 담을 수 있습니다. 이 경우 뷰는 어떤 상위 뷰에 속한 상태로 존재하게 되며, 안의 뷰는 자식 뷰, 자식 뷰를 담고 있는 뷰는 부모 뷰라고 부릅니다. 이때의 '부모 뷰'를 SuperView라고 합니다.
Frame과 Bounds에서의 좌표란?
Frame에서는 부모 뷰의 왼쪽 상단 모서리로부터 얼마나 떨어져 있는지에 대한 정보로 위치를 표시합니다. 부모 뷰로부터 떨어진 만큼 표시되는 위치를 Frame의 좌표라고 합니다.
Bounds는 자기 자신을 기준으로 좌표를 표시하므로 Bounds의(왼쪽 상단 모서리의) 좌표는 0,0이 됩니다.
즉, Bounds는 위치 정보를 저장하지 않습니다.
좌표를 표시하는 이유는 뷰가 어디에 위치하는지 표시하기 위해서이죠.
그렇다면 Frame은 위치나 크기를 표시하는 데에 사용할 수 있을 것이고,
Bound는 View 내부에서 변경하거나 정렬할 때 사용할 수 있을 것입니다.