일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Swift
- init
- interpace
- Protocol
- optional
- initializer
- Foundation
- property
- tuist
- UIKit
- instance
- 스위프트
- type
- Unicode
- url
- Terminal
- enum
- struct
- delegate
- IOS
- Class
- Git
- initalizer
- extension
- Xcode
- String
- 디자인패턴
- Method
- 이니셜라이저
- 코딩테스트
Archives
- Today
- Total
아리의 iOS 탐구생활
[iOS/UIKit] Frame vs Bounds 본문
반응형
프로젝트 피드백을 받다가 Frame과 Bounds는 어떤 차이가 있느냐는 질문에 궁금해서 찾아보게 되었다.
# Frame
Super View 좌표계에서 View의 위치와 크기를 나타낸다.
## Frame의 origin(x, y)
- Super view의 원점을 (0,0)으로 놓고 원점으로부터 얼마나 떨어져 있는지를 나타낸다.
- 따라서 Frame의 origin 값을 변경하면 SubView도 그만큼 같이 움직인다.
## Frame의 Size(width, height)
- View 영역을 모두 감싸는 사각형으로 나타낸다.
- View 자체의 크기가 아니라 View가 차지하는 영역을 감싸서 만든 사각형이라고 이해하면 된다.
## 언제 사용할까?
- UIView의 위치 및 크기를 설정할 때 사용한다.
# Bounds
자신의 좌표계에서 View의 위치와 크기를 나타낸다.
## bounds의 origin(x, y)
- Super view와는 아무 상관 없으면 기준이 자기 자신이다.
- 따라서 좌표의 시작점을 자기의 원점(0,0)으로 놓는다.
- bounds를 바꿔줘야 하는 경우는 ScrollView의 ContentOffset을 설정할 때이다.
## Bounds의 size(width, height)
- View 자체의 영역을 나타낸다.
- Frame과 다르게 View영역을 모두 감싸서 만든 사각형이 아니라 View 자체의 영역을 나타낸다고 이해해보면 된다.
## 언제 사용할까?
- View를 회전(transfomation)한 후 View의 실제 크기를 알고 싶을 때 사용한다.
- View 내부에 그림을 그릴 때(drawRect) 사용한다.
- ScrollView에서 스크롤링 할 때 사용한다.
# Reference
반응형
'Swift > iOS' 카테고리의 다른 글
[UiKit/iOS] 네비게이션 바 감추는 방법 (0) | 2022.02.06 |
---|---|
[UIKit/iOS] 뷰의 재사용이란? (0) | 2022.02.06 |
[iOS] Delegation 패턴에 대해서 알아보자. (0) | 2021.12.02 |
[iOS/UIKit] init(frame:)와 init(coder:) (0) | 2021.12.01 |
[iOS/Swift] TDD와 Unit Test (0) | 2021.11.23 |
Comments