[iOS] 뷰 체계

RudinP·2023년 10월 22일
0

Study

목록 보기
87/227

뷰 계층(View hierarchy)

뷰 계층구조와 서브뷰 관리

  • 뷰는 자신의 콘텐츠를 보여줌
  • 다른 뷰를 위한 컨테이너로써의 역할도 함
  • 하나의 뷰가 다른 뷰를 포함할 때, 두 뷰 사이에 부모-자식 관계가 생성
  • 해당 관계에서는 자식뷰는 서브뷰(subview)로, 부모뷰는 슈퍼뷰(superview)
  1. 슈퍼뷰와 서브뷰의 관계에서 서브뷰가 불투명할 경우 슈퍼뷰가 서브뷰에 가려짐

  1. 서브뷰가 반투명할 경우 서브뷰와 슈퍼뷰의 콘텐츠가 서로 섞임

  1. 만약 하나의 슈퍼뷰에 포함된 두 서브뷰가 서로 겹치게 되면, 나중에 추가된(또는 서브뷰 배열의 끝으로 옮겨진) 서브뷰가 맨 위에 보여지게 됨
  • 슈퍼뷰는 하나의 배열 안에 서브뷰를 순서대로 저장
  1. 두 서브뷰가 모두 반투명할 경우 뒤에 있는 모든 뷰들이 섞여 화면에 보여지게 됨

뷰 계층의 생성과 관리

  • 부모뷰.addSubView(_:) 메서드를 호출
    • 해당 서브뷰를 서브뷰 목록의 마지막에 추가
  • removeFromSuperView() 메서드를 호출
    • 해당 서브뷰를 삭제
  • insertSubview(_:at:)
    • 서브뷰를 부모뷰 목록의 중간에 삽입
  • bringSubView(toFront:)
    • 부모뷰 내에 이미 존재하는 서브뷰를 정렬
  • sendSubview(toBack:)
    • 부모뷰 내에 이미 존재하는 서브뷰 정렬

뷰 추가

뷰 삭제


뷰의 좌표계

  • 좌상단 (0,0)

CGPoint의 x, y와 CGSize의 width, height는 모두 부동소수점 타입인 CGFloat으로 표현


참고: 야곰

profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글