아리의 iOS 탐구생활

[iOS/UIKit] Frame vs Bounds 본문

Swift/iOS

[iOS/UIKit] Frame vs Bounds

Ari Lee 2021. 12. 2. 18:10
반응형
프로젝트 피드백을 받다가 Frame과 Bounds는 어떤 차이가 있느냐는 질문에 궁금해서 찾아보게 되었다.

 

 


# Frame

 

Apple Developer Documentation

 

developer.apple.com

Super View 좌표계에서 View의 위치와 크기를 나타낸다.

 

## Frame의 origin(x, y)

  • Super view의 원점을 (0,0)으로 놓고 원점으로부터 얼마나 떨어져 있는지를 나타낸다.
  • 따라서 Frame의 origin 값을 변경하면 SubView도 그만큼 같이 움직인다.

 

## Frame의 Size(width, height)

  • View 영역을 모두 감싸는 사각형으로 나타낸다.
  • View 자체의 크기가 아니라 View가 차지하는 영역을 감싸서 만든 사각형이라고 이해하면 된다.

 

## 언제 사용할까?

  • UIView의 위치 및 크기를 설정할 때 사용한다.

 

 

 

 

# Bounds

 

Apple Developer Documentation

 

developer.apple.com

자신의 좌표계에서 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

 

iOS) Frame vs Bounds 제대로 이해하기 (1/3)

안녕하세요 :D 소들입니다 후후......... 오늘은 Frame과 Bounds에 대해 알아볼 거예욥...! 그 있잖음.. UIView에 등장하는 두 놈... 이전 포스팅 에서 CGRect는 View의 위치(origin)와 크기(size)를 나타내기 위..

babbab2.tistory.com

 

반응형
Comments