본문 바로가기
iOS/AutoLayout

[iOS/AutoLayout] AutoLayout은 무엇이며, 왜 중요한가요?

by iosdevlime 2023. 5. 27.

iOS 개발 프레임워크인 UIKit를 효과적으로 다루기에 앞서..

 

Storyboard를 중심으로 개발할 시 가장 기초적이지만 어려운 부분인

AutoLayout에 대한 전반적인 이해과정을 포스팅 하도록 하겠습니다.

 

추후 업로드 되는 포스팅은 모두 애플에서 제공하는

Auto Layout Guide 공식 문서를 해석하고, 실습하는 과정으로 진행될 예정입니다.

 

 

첫 포스팅의 주제는

AutoLayout에 대한 이해 (UnderStanding AutoLayout) 입니다.

 

 

 


 

 

 

공식문서에서 소개하는 AutoLayout

화면(View)의 크기와 위치를 일종의 제약(Constraints)을 통해 동적으로 계산하는 것

 

'AutoLayout', 명칭에서도 유추할 수 있듯이

 

사용자가 마주하게 되는 화면(View)의

전반적인 틀(Layout)을 자동(Auto)으로 조정하고, 계산하는 방식을 의미합니다.

 

 

그런데, 무엇을 조정하고 계산한다는 것일까요?

 

 

 

AutoLayout이 필요한 이유

  • 외부&내부적 변화에 따라 화면(View)은 동적으로 자연스럽게 조정되어야 합니다. 
    • 디바이스를 세로 ➟ 가로로 돌리거나, 드래그를 실시할 경우 화면(View)는 변경됩니다.
    • 즉, 화면(View)은 동적(Dynamic)이므로, 보다 유동적인 레이아웃 방식이 필요합니다.
  • AutoLayout은 동적변화에 미리 대응하여 화면의 레이아웃을 조정하고, 계산합니다.
    • 화면을 조정, 계산하여 나타내기 위하여 제약(Constraints)기반 접근방식을 활용합니다.
    • 내부 및 외부 변경 모두에 동적으로 응답하는 사용자 인터페이스를 구축할 수 있습니다.

 

 

Frame-based vs AutoLayout

  • 크기와 위치 좌표를 활용한 Frame-based Layout은 내부&외부 변화에 대응하기가 어렵습니다.
    • '절대적인 수치', 즉 좌표계 시스템을 활용하여 레이아웃을 구성하는 방식입니다.
    • 기기별 화면의 크기를 모두 계산하여 레이아웃을 구성해야 한다는 문제를 가지고 있습니다.
  • 반면에 AutoLayout은 동적변화에 미리 대응하여 화면의 레이아웃을 조정하고, 계산합니다.
    • 화면을 조정, 계산하여 나타내기 위하여 제약(Constraints)기반 접근방식을 활용합니다.
    • 이에, 내부&외부 변화에 보다 유동적으로 대응하여 보다 효율적인 화면을 구성할 수 있습니다.

Frame-based vs AutoLayout
Frame-based vs AutoLayout

 

 


 

 

AutoLayout의 첫 포스팅인 만큼,

해당 방식의 필요성에 대하여 간단하게 짚고 넘어가는 시간을 가져보았습니다.

 

이후, 제약(Constraints)을 비롯한 AutoLayout의 전반적인 활용방식에 대해

구체적으로 알아가보도록 하겠습니다. 

댓글