티스토리 뷰
안녕하세요. 도미닉입니다.
오늘은 Bounds 와 Frame 에 대해서 알아보겠습니다.
우선 Frame 이 무엇인지에 대해 정리해보겠습니다.
frame 이란?
The frame rectangle, which describes the view’s location and size in its superview’s coordinate system.
공식 문서에 위와 같이 설명합니다.
frame 은 사각형이고 슈퍼 뷰의 좌표 체계 안에서 뷰의 위치와 사이즈를 설명한다고 합니다.
공식 문서에 아래 Discussion 도 번역해보겠습니다.
Discussion
이 사각형은 슈퍼 뷰의 좌표계에서 뷰의 크기와 위치를 정의합니다.
레이아웃 작업 중에 이 사각형을 사용하여 뷰의 크기와 위치를 설정합니다.
이 속성을 설정하면 center 프로퍼티에 지정된 point 가 변경되고 이에 따라 bounds 의 크기가 변경됩니다.
프레임 사각형의 좌표는 항상 point 로 지정됩니다.
아래 Bounds 에 대해서 알아보고 같이 비교하면서 좀 더 이해해봅시다.
bounds 란?
The bounds rectangle, which describes the view’s location and size in its own coordinate system.
공식 문서에 위와 같이 설명합니다.
bounds 는 자체 좌표계에서 뷰의 위치와 크기를 설명하는 bounds 사각형이라고 합니다.
bounds 는 경계라는 의미인데 자체적인 좌표에서 뷰의 위치와 크기를 설명해주는 사각형의 경계라고 이해가 됩니다.
공식 문서 아래 Discussion 도 번역해보겠습니다.
Discussion
기본 Bounds 의 origin 은 (0,0) - 좌측 상단이며 크기는 frame 속성의 사각형 크기와 대부분의 경우 동일합니다.(뷰가 기울어져있다면 frame은 뷰를 전체 다 감쌀 수 있을 정도로 커지며, bounds는 뷰의 사이즈와 동일하다.)
size 를 변경하면 원점을 기준으로 view 가 커지거나 줄어듭니다.
size 를 변경하면 또한 frame 속성의 사각형 크기도 동일하게 변경됩니다.(이 경우도 뷰가 기울어져있다면 다를 것이다)
bounds 사각형의 좌표는 항상 points 로 지정됩니다.
frame 과 bounds 의 차이
frame 은 그리는 것과 전혀 연관이 없습니다.
bounds 그리는 것과 연관이 깊습니다.
frame 과 center는 드로잉을 하는 곳이 어딘지를
bounds는 지금 드로잉하는 곳을 말합니다.
frame 은 슈퍼 뷰로부터 현재 뷰의 위치와 사이즈를 확인하는데 사용합니다.
bounds 는 현재 뷰 내부에 뷰의 사이즈를 결정하는데 사용합니다.
정리
글로만 작성하니 이해가 어려운 것 같습니다.
해당 예제 코드를 유튜브로 찍어서 공유하도록 하겠습니다.
글 읽어주셔서 감사합니다.
참고
https://developer.apple.com/documentation/uikit/uiview/1622621-frame
https://developer.apple.com/documentation/uikit/uiview/1622580-bounds
https://zeddios.tistory.com/203
https://zeddios.tistory.com/231
https://sihyungyou.github.io/iOS-frame-bounds/
https://www.edwith.org/swiftapp/lecture/19421/?isDesc=false
'IT > iOS' 카테고리의 다른 글
아이폰 Firebase 이벤트 로그 테스트 방법(DebugView) (0) | 2022.06.30 |
---|---|
Human Interface Guidelines - Adaptivity and Layout 번역(1) (0) | 2022.05.15 |
Swift 에서 의존성 주입 (0) | 2021.12.06 |
애플 Human Interface Guidelines 에 대한 생각과 사례 조사 (0) | 2021.06.15 |
애플 Human Interface Guidelines iOS (2) User Interaction (0) | 2021.06.14 |
- Total
- Today
- Yesterday
- 매트랩
- 애플
- database
- 뇌를 자극하는 C프로그래밍
- 단어
- 뇌를 자극하는 C 프로그래밍
- 프로그램
- Matlab
- IOS
- Swift
- Apple
- 시원스쿨
- 왕초보 영단어1
- 함수
- 형용사
- exercise
- 반복문
- 테라스캔
- 연습문제
- 배열
- 영어
- 포인터
- C
- 데이터베이스
- MySQL
- 프로그래밍
- Xcode
- terascan
- 스위프트
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |