itisjustK
코딩과 사람 사는 이야기
itisjustK
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • 일이삼사오육칠팔구십일이삼사오육칠팔구십일이삼사오육칠.. (0)
    • Web (43)
      • html & css (9)
      • django & python (15)
      • java script (9)
    • iOS (51)
      • Swift (42)
      • SwiftUI (5)
    • CS (25)
      • 자료구조 (6)
      • 운영체제 (3)
      • 데이터베이스 (9)
      • 네트워크 (7)
    • PS (34)
      • 알고리즘 & 자료구조 (0)
    • Life (36)
    • Retrospective (15)
    • Book (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 연결리스트
  • 점주
  • 세그멘테이션
  • 생활코딩 #이고잉 #HTML #코딩 #개발자
  • binding
  • SwiftUI
  • 독립서점
  • 생활코딩
  • 킨디
  • POSTECH
  • AppleDevloperAcademy
  • nosql
  • SWIFT
  • crud
  • 개발자
  • 어플
  • mongodb
  • ios
  • CoreData
  • CS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
itisjustK

코딩과 사람 사는 이야기

[iOS 앱 프로그래밍] 음원 재생기 애플리케이션 - 5. iOS의 View 체계
iOS/Swift

[iOS 앱 프로그래밍] 음원 재생기 애플리케이션 - 5. iOS의 View 체계

2021. 8. 8. 13:22

iOS는 윈도우와 뷰를 사용해 콘텐츠를 표시한다.

xcode에서 직관적으로 윈도우와 뷰를 볼 수 있는 방법이 있다.

 

이렇게 계층을 띄워준다.

뷰 계층(View hierarchy)

뷰 계층 구조와 서브뷰 관리

뷰는 자신의 콘텐츠를 보여주는 것과 더불어, 다른 뷰를 위한 컨테이너로써의 역할도 한다. 하나의 뷰가 다른 뷰를 포함할 때, 두 뷰 사이에 부모-자식 관계가 생성된다. 해당 관계에서는 자식뷰는 서브뷰(subview)로, 부모뷰는 슈퍼뷰(superview)로 불려진다. 부모-자식 관계 형성은 애플리케이션의 시각적 모습과 동작 모두에 영향을 미친다.

 

 

 

뷰 계층의 생성과 관리

 

OS 애플리케이션에서 뷰 계층을 만드는 방법에는 인터페이스 빌더를 이용하는 방법과 코드를 작성하는 방법이 있다.

코드작성 방식을 사용할 경우 서브뷰를 부모뷰에 추가하기 위해, 부모뷰의 addSubView(_:) 메서드를 호출한다. 이 메서드는 해당 서브뷰를 서브뷰 목록의 마지막에 추가한다. 

부모뷰의 서브뷰를 제거하기 위해서는 서브뷰의 removeFromSuperView() 메서드를 호출한다. 이 외에도 서브뷰를 부모뷰 목록의 중간에 삽입하기 위해 insertSubview(_:at:), 부모뷰 내에 이미존재하는 서브뷰를 정렬하기 위해 bringSubView(toFront:), sendSubview(toBack:) 등의 메서드들을 호출할 수 있습니다.

 

 

 

뷰의 좌표계

 

UIKit에서 기본이 되는 좌표계는 좌측 상단 모서리를 원점으로 하며, 원점으로부터 아래쪽, 오른쪽 방향으로 확장된다. 좌표값은 해상도와 상관없이 콘텐츠의 위치를 잡는 부동소수점을 사용하여 나타낸다.

 

 

 

프레임과 바운드

 

iOS의 좌표체계의 시작은 왼쪽 위부터 시작이다. 즉, 제일 왼쪽의 제일 위의 지점이 (0, 0)입니다. 또, 수평축은 x로, 수직축은 y로 표현한다. 뷰의 프레임(frame)은 뷰의 크기와 위치를 슈퍼뷰의 좌표계를 기준으로 나타낸다. 바운드(bounds)는 뷰의 크기와 위치를 해당 뷰 자신의 좌표계를 기준으로 나타낸다. 

저작자표시

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

[iOS 앱 프로그래밍] 회원가입 화면 구현 - 1. H.I.G  (0) 2021.08.09
[iOS 앱 프로그래밍] 음원 재생기 애플리케이션 - 6. MVC  (0) 2021.08.08
[iOS 앱 프로그래밍] 음원 재생기 애플리케이션 - 4. 오토 레이아웃 (1)  (0) 2021.08.05
[iOS 앱 프로그래밍] 음원 재생기 애플리케이션 - 3. Foundation과 UIKit 그리고 Cocoa Touch  (0) 2021.08.04
[iOS 앱 프로그래밍] 음원 재생기 애플리케이션 - 2. 애플리케이션 만들기 (2)  (0) 2021.08.04
    'iOS/Swift' 카테고리의 다른 글
    • [iOS 앱 프로그래밍] 회원가입 화면 구현 - 1. H.I.G
    • [iOS 앱 프로그래밍] 음원 재생기 애플리케이션 - 6. MVC
    • [iOS 앱 프로그래밍] 음원 재생기 애플리케이션 - 4. 오토 레이아웃 (1)
    • [iOS 앱 프로그래밍] 음원 재생기 애플리케이션 - 3. Foundation과 UIKit 그리고 Cocoa Touch
    itisjustK
    itisjustK

    티스토리툴바