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)기반 접근방식을 활용합니다.
- 이에, 내부&외부 변화에 보다 유동적으로 대응하여 보다 효율적인 화면을 구성할 수 있습니다.
AutoLayout의 첫 포스팅인 만큼,
해당 방식의 필요성에 대하여 간단하게 짚고 넘어가는 시간을 가져보았습니다.
이후, 제약(Constraints)을 비롯한 AutoLayout의 전반적인 활용방식에 대해
구체적으로 알아가보도록 하겠습니다.
댓글