꿀똥벌레
꿀똥벌레 개발 블로그
꿀똥벌레
전체 방문자
오늘
어제
  • 분류 전체보기 (90)
    • JAVA (17)
    • SPRING (14)
    • Elasticsearch (4)
    • GRADLE (2)
    • HTML, CSS (0)
    • JAVASCRIPT (0)
    • GIT (1)
    • Vue.js (1)
    • server (1)
    • Python (0)
    • IT리뷰 (0)
    • 인프라 (6)
    • IOS (21)
    • 디자인패턴 (20)
    • Kafka (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • spring integration
  • persistent connection
  • ES
  • java
  • connectionRequestTimeout
  • 스프링 인테그레이션
  • 인덱스 템플릿
  • mappings
  • maxConnPerRoute
  • elasticsearch
  • persistence connection
  • Index
  • maxConnTotal
  • 스프링 인티그레이션
  • SWIFT
  • 엘라스틱서치
  • Index Template
  • spring
  • springintegration
  • KEEPALIVE

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
꿀똥벌레

꿀똥벌레 개발 블로그

IOS

UIKit UIView 의 Frame 과 Bounds

2022. 10. 10. 18:37

CGRect

CGRect 는 x, y 좌표(origin)와 width, height 인 크기(size)를 가진다.
UIView 는 CGRect라는 오브젝트를 frame 과 bounds 라는 변수를 통해 가지고 있다.

frame

  • frame 의 x, y 좌표는 부모 뷰(super view)의 원점(0, 0) 을 기준으로 좌표가 측정 되어진다.
  • frame 의 width, height 는 해당 뷰 전체를 감쌀 수 있는 사각형의 크기 이다.
    200*200의 사각형이 기울어져 있다면, 기울어진 사각형을 포함하기 위해 frame.width, height는 더 크게 측정된다.

bounds

  • bounds 의 x, y 좌표는 자신 스스로의 좌표로, 최초 생성시에는 0, 0 으로 초기화 된다.
  • bounds 의 사이즈는 실제 그려진 뷰의 사이즈 이다.
  • 뷰를 회전 시킨다고 해서 bounds.origin은 바뀌지 않는다. (그대로 0, 0)
  • bounds 의 origin은 해당 뷰의 뷰포트를 옮기는 행위라고 이해할 수 있다. (frame은 이동하지 않기 때문에 해당 뷰의 위치는 그대로 존재한다.) 따라서 origin 을 100, 100으로 설정하면, 뷰포트가 100, 100으로 이동한 것으로 인식하고, 해당 뷰의 하위 뷰들은 좌상단으로 -100, -100 만큼 이동한 것처럼 보여진다.
저작자표시 (새창열림)

'IOS' 카테고리의 다른 글

SwiftUI 에서 UIKit 사용하기  (0) 2022.11.01
NSCollectionLayoutDimension 알아보기  (0) 2022.10.15
Swift 접근 한정자  (0) 2022.10.05
스위프트 Attributes  (0) 2022.10.04
스위프트 Generic  (0) 2022.10.04
    꿀똥벌레
    꿀똥벌레
    개발자 꿀똥벌레 입니다.

    티스토리툴바