본문 바로가기

AutoLayout8

[iOS/AutoLayout] 부등식 제약조건(Constraint Inequalities)과 제약 우선 순위(Constraint Priorities)를 통한 Layout 만들기 앞선 AutoLayout, 그리고 제약 조건(Constraints)의 개념과 예시에서는 모두 공통적인 하나의 전제 조건을 가지고 있었습니다. 예를 들어, ' A와 B라는 UIView의 간의 Horizontal(수평) 간격 ' 의 경우, // A single equal relationship BView.leading = 1.0 * AView.trailing + 20.0 위와 같이 등식(equalitites)을 활용하여 제약관계를 코드로 정의내릴 수 있었습니다. 하지만, 이는 제약조건의 일부에 불과합니다. 이번 포스팅을 통해 더욱 유연하고 정확한(Nonambiguos) 레이아웃을 구상하는 방법을 알아보겠습니다. 부등식(Inqualities), 그리고 제약 우선순위(Priorities)의 활용 부등식, 그리고.. 2023. 8. 5.
[iOS/AutoLayout] 동일한 형태이나, 다른 방식의 모호하지 않은 레이아웃 만들기(Example of Nonambiguous Layout Solutions) AutoLayout 4번째 포스팅을 시작해보도록 하겠습니다. 지난 포스팅에서 다룬 '모호하지 않은 레이아웃(nonAmbiguous Layout)'에 이어, 1개 뷰의 레이아웃이 아닌, 2개의 UIView간의 관계를 설정하는 과정을 살펴볼까 합니다. 아래서 다룰 예시는, 제약을 위한 절대적인 해답이 아닌 모호하지 않은 레이아웃을 만들기 위한 다양한 방식 중 하나이므로 추후 원하는 화면을 구현하기 위한 참고용으로서 확인하시길 바랍니다. 모호하지 않은 레이아웃 만들기 (2) 상위 뷰(혹은 Container), 그리고 인접 뷰(neighborhood)와의 관계를 통한 AutoLayout 완성 앞서 언급한 바와 같이, 이번 포스팅에서는 2개의 UIView가 활용되는 AutoLayout을 연습해보고자 합니다. .. 2023. 7. 14.
[iOS/AutoLayout] 명확한 Layout을 위한 지침이자 제약, 모호하지 않은 레이아웃(Nonambiguous Layouts) 지난 포스팅에서 다룬 내용을 간략하게 짚고 넘어가볼까 합니다. UIKit에서 Storyboard 혹은 코드를 활용하여 뷰를 구성할 때, 일종의 '제약(Constraints)'을 설정함으로서 AutoLayout을 완성하게 됩니다. 구체적으로 제약이란, 1️⃣ 사이즈 혹은 위치를 나타내는 속성(Attributes) 2️⃣ 등호(=)를 통해 각 뷰간의 관계를 나타내는 방정식(Equations) 위 2가지 요소를 토대로 제약을 정의하게 됩니다. 이번 포스팅에서는 위에서 학습한 속성과 방정식을 활용, 올바른 제약 혹은 관계를 설정하기 위한 레이아웃을 나타내는 '모호하지 않은 레이아웃(Nonambiguous Layouts)' 에 대한 예시를 살펴볼까 합니다. 모호하지 않은 레이아웃 만들기 (1) 컴퓨터에게 정확한.. 2023. 6. 28.
[iOS/UIKit] TableView와 CollectionView는 어떤 차이가 있나요? UIKit을 활용하여 특정 데이터를 리스트 형식으로 나타내고자 할때, 'TableView' 과 'CollectionView' 중 어느 것을 활용해야 할지 고민하기 마련입니다🫨 추후 프로젝트를 진행하는데 앞서, 고민할 시간을 줄이고 효율적인 선택을 하기 위해 이번 포스팅에서는 두 컴포넌트의 정의와 기능을 짚고 넘어가볼까 합니다. (각각의 컴포넌트 별 생성과정과 레이아웃 과정은 별도의 포스팅에서 다룰 예정입니다) 리스트를 나타내는 모습 (Overview) 앱의 성격과 디자인을 고려하여 리스트 방식을 나타내는 적절한 View를 선택 네트워크에서 받아오거나 혹은 임의로 만든 데이터를 앱의 화면을 통해 보여주고자 할 때, 아래와 같이 다양한 형태로 나타낼 수 있습니다. 앱 혹은 화면(Scene)별 데이터를 전.. 2023. 6. 27.
[iOS/AutoLayout] Attributes(속성)과 Equations(방정식) AutoLayout에 대한 개념과 필요성에 대한 내용에 이어서.. 동적인 화면(View)를 구성하기 위해 구체적으로 어떠한 요소(속성)과 방식을 활용하는지 살펴볼 필요가 있습니다. 이번 포스팅에서는 AutoLayout을 구현하기 위한 속성, 그리고 방정식에 대해 다뤄보도록 하겠습니다. (보다 자세한 내용은 공식문서 링크를 참고해주세요) 예시로 알아보는 AutoLayout 제약 설정을 위하여 속성(Attributes)과 방정식(Equations)을 활용, AutoLayout을 완성 AutoLayout을 구현하기 위하여 일종의 제약(Constraints)관계를 설정하는 과정이 선행된다는 것을 알고 계신다면.. 아래 예시를 통해 '어떻게 제약관계를 형성하는 것인지?' 직관적으로 확인하실 수 있습니다. (예시.. 2023. 6. 7.
[iOS/AutoLayout] AutoLayout은 무엇이며, 왜 중요한가요? iOS 개발 프레임워크인 UIKit를 효과적으로 다루기에 앞서.. Storyboard를 중심으로 개발할 시 가장 기초적이지만 어려운 부분인 AutoLayout에 대한 전반적인 이해과정을 포스팅 하도록 하겠습니다. 추후 업로드 되는 포스팅은 모두 애플에서 제공하는 Auto Layout Guide 공식 문서를 해석하고, 실습하는 과정으로 진행될 예정입니다. 첫 포스팅의 주제는 AutoLayout에 대한 이해 (UnderStanding AutoLayout) 입니다. 공식문서에서 소개하는 AutoLayout 화면(View)의 크기와 위치를 일종의 제약(Constraints)을 통해 동적으로 계산하는 것 'AutoLayout', 명칭에서도 유추할 수 있듯이 사용자가 마주하게 되는 화면(View)의 전반적인 틀(L.. 2023. 5. 27.