Computer >> 컴퓨터 >  >> 프로그래밍 >> iOS

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

오토 레이아웃(Auto Layout)은 iOS 기기의 사용자 인터페이스(UI)를 개발할 때 사용하는 제약 조건(constraint) 기반 레이아웃 시스템입니다. 이 시스템을 활용하면 화면 크기와 방향(가로/세로)이 서로 다른 다양한 기기에 자동으로 맞춰지는 적응형 UI를 구현할 수 있습니다.

오토 레이아웃은 전적으로 제약 조건에 의존합니다. 개발자는 인접한 요소나 부모 요소와의 관계를 정의함으로써 UI 요소의 위치를 고정하게 됩니다.

오토 레이아웃이 필요한 이유

iOS 애플리케이션을 설계할 때는 개발 중인 UI가 모든 화면 크기와 방향에서 동일하게 잘 작동하도록 보장해야 합니다. 바로 이럴 때 오토 레이아웃이 큰 도움이 됩니다.

아래 이미지를 살펴보겠습니다. iPhone 6에서 화면 중앙에 배치한 버튼이 다른 기기에서는 중앙에 정렬되지 않습니다. 이는 iOS 기기마다 화면 크기가 다르기 때문입니다. 이 글에서는 제약 조건에 초점을 맞추고 있으므로, 각 기기의 화면 크기에 대해 더 자세히 알고 싶다면 iosres.com을 참고하시기 바랍니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

개발한 UI가 모든 기기와 방향에서 일관되게 표시되도록 하기 위해 오토 레이아웃을 사용해 보겠습니다. 그럼 시작해 보겠습니다.

1단계: 프로젝트 생성

Xcode를 실행한 후 New Project → Single View Application을 선택하고, 프로젝트 이름을 "AutoLayout"으로 지정합니다.

2단계: 버튼 추가

Main.storyboard를 열고 아래와 같이 버튼을 추가합니다. 참고용으로 기기를 iPhone 7 Plus로 선택합니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

여기서 볼 수 있듯이 제약 조건 없이 버튼을 임의의 위치에 추가했습니다. 우리의 목표는 이 버튼을 화면 중앙에 배치하고, 모든 기기와 방향에서 호환되도록 만드는 것입니다. 3단계로 넘어가기 전에 정확히 무엇을 해야 하는지, 어떻게 달성할 수 있는지 이해해 보겠습니다.

제약 조건을 정의하는 두 가지 방법

Xcode는 오토 레이아웃 제약 조건을 정의하는 두 가지 방법을 제공합니다.

  • 오토 레이아웃 바(Auto Layout Bar)
  • 컨트롤 드래그(Control-drag)

이 글에서는 주로 오토 레이아웃 바를 사용하지만, 컨트롤 드래그 사용법도 함께 소개하겠습니다. Xcode 인터페이스 빌더(Interface Builder) 우측 하단에는 5개의 버튼이 있는데, 이 버튼들이 바로 제약 조건을 정의하는 데 사용되는 레이아웃 버튼입니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

제약 조건 시스템의 핵심 요소

제약 조건 시스템 전체가 작동하는 핵심 원리는 네 가지 파라미터(leading, trailing, top, bottom)와 더불어 높이(height), 너비(width), 세로 중앙, 가로 중앙입니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

3단계: 중앙 정렬 제약 조건 추가

버튼을 클릭한 후 Align(정렬)을 선택하고, 아래와 같이 컨테이너 기준 Horizontally(수평 중앙)Vertically(수직 중앙) 옵션을 활성화합니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

두 제약 조건을 모두 추가하면 버튼이 화면 중앙에 정렬된 것을 확인할 수 있습니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

또는 아래와 같이 컨트롤 드래그 기능으로도 동일한 결과를 얻을 수 있습니다. UI 컴포넌트를 선택한 상태에서 Control 키를 누른 채 드래그하여 제약 조건을 지정하고, Horizontally in Container와 Vertically in Container를 선택하면 됩니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

4단계: 너비와 높이 정의

이제 버튼의 너비와 높이를 정의하겠습니다. 아래와 같이 Add New Constraints(새 제약 조건 추가) 옵션을 선택하고 높이와 너비 값을 입력합니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

대안적으로, 컨테이너에 대한 수평·수직 중앙 정렬을 사용하지 않으려면 leading 제약 조건, trailing 제약 조건, 상단 마진(top margin), 하단 마진(bottom margin)을 지정하는 방법도 있습니다.

5단계: 실행 결과 확인

필요한 모든 제약 조건을 추가했습니다. 항상 기억해야 할 핵심은 UI 컴포넌트의 위치를 확정하려면 네 가지 가장자리(leading, trailing, top, bottom), X축 정렬, Y축 정렬, 너비, 높이를 고려해야 한다는 점입니다.

이제 다양한 기기와 방향(가로/세로)으로 앱을 실행하여 결과를 확인해 보겠습니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

제약 조건 수정 및 삭제

제약 조건은 언제든지 수정하거나 삭제할 수 있습니다. 오른쪽 유틸리티 영역에서 다섯 번째 탭(Size Inspector)을 선택하고 아래로 스크롤하면, 이미지와 같이 추가된 제약 조건 목록을 확인하고 편집할 수 있습니다.

Xcode 오토 레이아웃 완벽 가이드: 제약 조건으로 적응형 iOS UI 만들기

마무리

이번 튜토리얼에서는 오토 레이아웃과 제약 조건을 활용해 적응형 UI를 개발하는 기본 과정을 살펴보았습니다. 위에서 배운 기본 개념을 바탕으로 여러 UI 컴포넌트를 직접 배치하고 실습해 보시기 바랍니다. 제약 조건에 익숙해지면 어떤 화면 크기에서도 안정적으로 동작하는 인터페이스를 만들 수 있습니다.