iJoom
Denovation Dev information
iJoom
전체 방문자
오늘
어제
  • 분류 전체보기 (29)
    • Swift information (5)
    • Deep Dive iOS (10)
    • Books (1)
    • Conference (1)
    • 알고리즘 풀이 (10)
    • 알고리즘 개념 및 Tool C++ (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Weak
  • ios
  • sidetable
  • 백준
  • 알고리즘
  • iOS Structure
  • Swift Concurrency
  • struct
  • 순열
  • EscapingClosure
  • 문자열압축
  • 완전탐색
  • applicationWillResignActive
  • Strong
  • permuation
  • C++
  • Cocoa Touch
  • SWIFT
  • sceneWillResignActive
  • unowned
  • Core OS
  • 문자열
  • bj4344
  • 캡처리스트
  • ARC
  • ValuesCapturing
  • MergeConflicts
  • Core Services
  • decdoingError
  • 자료형에러

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
iJoom

Denovation Dev information

frame and bounds
Deep Dive iOS

frame and bounds

2020. 11. 5. 16:37

frame과 bounds에 관한 정보가 많기에, 간단하게 핵심을 요약하고 정리하겠습니다.

 

공식문서에서의 설명

frame : 수퍼 뷰의 좌표계에서 뷰의 위치와 크기를 설명하는 프레임 사각형입니다.

bounds: 자체 좌표계에서 뷰의 위치와 크기를 설명하는 경계 사각형입니다.

 

var bounds: CGRect { get set }
var frame: CGRect { get set }
// CGRect는 구조체

 

1단계 2단계로 나누어서 이해하면 편합니다.

 

1단계: 좌표 기준

bounds 부터 생각해보면, 어느 위치든 사각형의 view를 만들던 default bounds origin은 (0,0)입니다. (SuperView의 개념이 X)

frame은 SuperView로부터 만들어직 사각형의 view의 위치가 고려되어 좌표계가 형성됩니다. (SuperView 개념 O)

주황색 50 size의 정사각형 view

bounds 기준으로 생각하면 슈퍼뷰의 개념이 아닌, 좌표계 기준이기 때문에 시작점이 (0,0)입니다!

하지만 frame 기준으로 생각하면 흰색 superview의 기준이 있기 때문에 시작점은 (x,y)기준 (50,50) 입니다 !

 

좌표를 생각할때 시작점이 변동이 없는건 bounds 입니다. 

이역시 단계별로 구별해서 생각해보면 이해하기 편할거라고 생각합니다.

 

2단계: Size 기준

width 50 height 60 인 사각형의 View를 회전시켰다고 생각했을때

bounds의 size:변동이 없다. 처음 View가 초기화 될때의 사이즈의 크기를 나타내기 때문! width 50, height 60

frame의 size: 회전된 더 커진 View의 size로 값이 변경된다. width 60, height 70 (10씩 커지게 회전 했다고 가정시)

'Deep Dive iOS' 카테고리의 다른 글

앱이 inactive 상태가 되는 경우  (0) 2020.11.11
iOS/Swift) UIKit 이란?  (0) 2020.11.10
시뮬레이터에서 할 수 없는 것과 실제 iPhone과의 차이  (0) 2020.11.05
앱의 상태 및 수명주기에 관련한 메소드  (0) 2020.11.05
Scene delegate? + App Delegate  (0) 2020.11.05
    'Deep Dive iOS' 카테고리의 다른 글
    • iOS/Swift) UIKit 이란?
    • 시뮬레이터에서 할 수 없는 것과 실제 iPhone과의 차이
    • 앱의 상태 및 수명주기에 관련한 메소드
    • Scene delegate? + App Delegate
    iJoom
    iJoom

    티스토리툴바