frame vs bounds (1) [ CGPoint, CGSize, CGRect ]

2024. 9. 2. 10:35·iOS/UIKit
반응형

 

이번 학습부터는 많이 헷갈리는 주제인 Frame과 bounds관련에서 시작해보자.

 

먼저 Frame과 bounds를 들어가기 전에 선행해서 학습하면 좋을 개념들을 학습해보자.

 

 

1. CGPoint

 

public struct CGPoint {
    public init()
    public init(x: Double, y: Double)
    public var x: Double
    public var y: Double
}

 

 

View의 위치를 나타날 때 사용하는 좌표 값을 타나내는 정보이다.

x와 y 값은 Double로 되어있고 기준은 왼쪽 위가 된다.     

 

2. CGSize

public struct CGSize {
    public init()
    public init(width: Double, height: Double)
    public var width: Double
    public var height: Double
}

 

 

width와 height 를 통해 뷰의 크기를 지정할 수 있는 정보이다.

 

3. CGRect

public struct CGRect {
    public init()
    public init(origin: CGPoint, size: CGSize)
    public var origin: CGPoint
    public var size: CGSize
}

 

 

origin을 CGPoint로 size를 CGSize로 가지고 있는 조금 더 고수준의 정보이다.

 

let rect: CGRect = .init(x: 100, y: 200, width: 150, height: 200)

 

코드를 그려보면 다음과 같다.

 

 

반응형

'iOS > UIKit' 카테고리의 다른 글

frame vs bounds (3) [origin, viewport ]  (4) 2024.09.02
frame vs bounds (2) [ 정의, 기준점, 크기 계산 방식]  (0) 2024.09.02
생명주기 (4) [ 업데이트 Cycle ]  (2) 2024.09.01
생명주기 (3) [ View 생명주기 ]  (1) 2024.09.01
UIKit 코드 베이스 셋팅  (0) 2024.09.01
'iOS/UIKit' 카테고리의 다른 글
  • frame vs bounds (3) [origin, viewport ]
  • frame vs bounds (2) [ 정의, 기준점, 크기 계산 방식]
  • 생명주기 (4) [ 업데이트 Cycle ]
  • 생명주기 (3) [ View 생명주기 ]
Hamp
Hamp
남들에게 보여주기 부끄러운 잡다한 글을 적어 나가는 자칭 기술 블로그입니다.
  • Hamp
    Hamp의 분리수거함
    Hamp
  • 전체
    오늘
    어제
    • 분류 전체보기 (309) N
      • CS (30)
        • 객체지향 (2)
        • Network (7)
        • OS (6)
        • 자료구조 (1)
        • LiveStreaming (3)
        • 이미지 (1)
        • 잡다한 질문 정리 (0)
        • Hardware (2)
        • 이론 (6)
        • 컴퓨터 그래픽스 (0)
      • Firebase (3)
      • Programing Langauge (38)
        • swift (32)
        • python (5)
        • Kotlin (1)
      • iOS (132)
        • UIKit (37)
        • Combine (1)
        • SwiftUI (32)
        • Framework (7)
        • Swift Concurrency (22)
        • Tuist (6)
        • Setting (11)
        • Modularization (1)
        • Instruments (6)
      • PS (59)
        • 프로그래머스 (24)
        • 백준 (13)
        • LeetCode (19)
        • 알고리즘 (3)
      • Git (18)
        • 명령어 (4)
        • 이론 (2)
        • hooks (1)
        • config (2)
        • action (7)
      • Shell Script (2)
      • Linux (6)
        • 명령어 (5)
      • Spring (15) N
        • 어노테이션 (3) N
        • 튜토리얼 (11)
      • CI-CD (4)
      • Android (0)
        • Jetpack Compose (0)
      • AI (2) N
        • 이론 (2) N
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Spring
    dispatch
    property
    concurrency
    lifecycle
    boostcamp
    투포인터
    dp
    프로그래머스
    Tuist
    IOS
    SwiftUI
    dfs
    GIT
    백준
    protocol
    CS
    UIKit
    AVFoundation
    Swift
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
Hamp
frame vs bounds (1) [ CGPoint, CGSize, CGRect ]
상단으로

티스토리툴바