Auto Layout

Dino·2023년 1월 28일
0

iOS 워크샵

목록 보기
3/13

Auto Layout

Auto Layout의 정의

Auto Layout

  • 기존의 Frame-Based Layout과 다른 View들 간의 이용하여 View의 위치와 크기를 자동으로 결정하는 Layout System입니다.
  • 관계는 Constraint로 설정이 가능하다.
    참고

Frame 기반의 프로그래밍 방식(Frame-Based Layout)

Frame Layout vs Auto Layout

전통적으로 앱은 유저 인터페이스를 각 뷰의 프레임(frame)을 프로그래밍 방식으로 계산해 배치합니다. 유저 인터페이스를 배치하려면 뷰 계층의 모든 뷰에 대한 크기와 위치를 계산해야 합니다. 그리고 변경이 발생하면 영향을 받는 모든 뷰에 대해 프레임을 다시 계산합니다.

프래임 기반의 프로그래밍 방식

  • 가장 유연하며 빠른 성능
  • 모든 뷰에 대해 개별적인 설정과 관리가 필요하다.
  • 설계 및 디버그나 유지관리에 많은 노력이 필요하다는 단점이 있다.

Auto Layout 방식

  • 제약 조건을 이용해 유저 인터페이스 정의
  • 뷰간의 관계 설정을 통한 크기와 위치 계산
  • 내/외부 번경 사항에 동적으로 반응
  • Frame 기반에 비해 느린 포퍼먼스

Auto Layout이 필요한 이유

새로운 기기가 출시 될 때마다, 매버 다른 화면에 대한 지정값을 주는데에 한계가 있다.
이때 뷰에 제약조건(Constraints)을 줌으로써 새로운 기기에 앱을 사용할 때 화면을 가로, 세로로 전환하고 실행 중인 화면의 창크기를 변경하여도 동적으로 레이아웃을 지정할 수 있게 된다. 그렇기 때문에 Auto Layout은 다양한 기기와 환경에 모두 적용 가능하세 하는 필수적인 요소이다.

참고자료
https://seagreen83.tistory.com/102
https://jinshine.github.io/2018/06/07/iOS/오토레이아웃(AutoLayout)과%20Layout%20개념/
https://zeddios.tistory.com/380

profile
깃허브 : https://github.com/Hangga99

0개의 댓글

관련 채용 정보