AutoLayout

박인준·2019년 12월 12일
0

Swift

목록 보기
16/21

AutoLayout

  • 뷰에 주어진 제약조건에 따라 뷰의 크기와 위치를 동적으로 계산해 배치하는 것
  • 외부 또는 내부의 변화에 동적으로 반응하여 유저 인터페이스 구성

External / Internal Changes

  • 외적 변화 요소 (External Changes)
    • 서로 다른 기기 및 스크린 크기
    • 기기 회전
    • iPad / iPhone+ 등에서 Split View 로 진입하거나 빠져나올 때

  • 내적 변화 요소 (Internal Changes)
    • 앱에서 보여지는 컨텐츠의 변화
    • 국제화 지원 (텍스트, 날짜와 숫자, RTL 등)
    • Dynamic Type 지원 (글꼴 크기)

Laying out a user interface

  • 유저 인터페이스 구성을 위한 3가지 주요 접근 방식
    - Frame 기반의 프로그래밍 방식
    - Autoresizing masks
    - Auto Layout

@Autoresizing은 story board에서 어렵지 않게 설정 할 수 있음

@Auto Layout
• 제약 조건을 이용해 유저 인터페이스 정의
• 뷰간의 관계 설정을 통한 크기와 위치 계산
• 내/외부 변경 사항에 동적으로 반응
• Frame 기반에 비해 느린 성능
-> Auto Layout 설정시 위치를 제대로 잡아야 화면에 나옴 ; 주의!!
-> 버튼별 기능들 활용법 익히기!


AutoLayout Anchors

NSLayoutAnchor

  • iOS 9.0 이상에서 사용가능

Horizontal Layout Anchors

  • View 의 수평선, X축에 관련된 제약조건
  • NSLayoutXAxisAnchor 클래스의 객체
    • Leading anchor
    • Trailing anchor
    • Left anchor
    • Right anchor
    • Center-X anchor
    -> 가로에서 다음과 같은 기능을 제공함

Vertical Layout Anchors

  • View 의 수직선, Y축에 관련된 제약조건
  • NSLayoutYAxisAnchor 클래스의 객체
    • Top anchor
    • Bottom anchor
    • Center-Y anchor
    • First baseline anchor
    • Last baseline anchor
    -> 세로에서 다음과 같은 기능을 제공함

Dimension Layout Anchors

  • View 의 크기 정의
  • NSLayoutDimension 클래스의 객체
    • Width anchor
    • Height anchor

-> 위의 기능들을 모두 확인해서 사용해 보며 StoryBoard와의 차이를 이해해야 함!!

profile
iOS 개발자가 되기 위해

0개의 댓글