k-coding
Xcode 오토레이아웃 (AutoLayout) (4) 본문
Xcode 오토레이아웃 (AutoLayout) (4)
Autolayout 코드로 구현하기
Autolayout은 스토리보드에서만 구현할 수 있는게 아니라 코드상으로도 구현할 수 있다.
스토리보드를 사용하면 여러가지 장점이 존재하는데 그 장점중 가장 큰 부분은
직관적이고 마우스를통하여 AutoLayout을 구현한다는것이 가장 큰 장점일 것이다.
그렇다면 스토리보드의 단점이 무엇이길래 코드로 구현하는 일도 생길까??
스토리보드로 구현한 AutiLayout의 단점은
1. 스토리보드의 Inspector에서 제공하지 않는 옵션이 존재합니다.
예를들어서 layer.conerRadius같은 속성 값은 기본적으로 Inspector에서 제공하지 않기 때문에
코드에서 추가하거나, Identity Inspector에서 User Defined Runtime Attributes에서 직접 추가하여 지정해주어야합니다.
2. Build가 상대적으로 느리다.
스토라보드로 Autolayout을 구현하게 되면 초기 Index와 Build의 시간이 상대적으로 길게 걸리게됩니다.
이러한것들 때문에 코드로 오토레이아웃을 작성하는 경우도 있는데
작성 방법은 크게 3가지로 나뉜다.
1. NSConstrraint
2. Visual Format Language
3. NSLayoutAnchor
NSConstrraint
인터페이스 객체간 layout 관계를 나타내는 방법으로
수식으로 표현되서 적용되는 방법이다.
ex) item1.attribute1 = multiplier × item2.attribute2 + constant
수식으로 표현되는만큼 길고 보기 힘들지만 그만큼 미세한 조정이 가능하다.
이런식으로 코드를 구상하게 된다면 아래의 화면처럼 화면이 구상된다.
NSLayoutAnchor
NSConstraints가 복잡해서 그 대안으로 나온 방법으로
보다 시각적으로 간결하게 작성이 가능합니다.
대비 코드가 훨씬 간결해 진것을 확인할 수 있습니다.
Visual Format Language
layout의 코드를 시각적으로 표현하는 방법이다.
각 View를 [ ]를 사용하여 표현하고, View간의 연결을 - 을 사용하여 나타낸다.
이상으로 스토리보드가 아닌 코드상으로 AutoLayout을 구상하는 방법에 대하여 알아보았습니다
'iOS > Xcode' 카테고리의 다른 글
tableView 그리고, searchBar (0) | 2022.01.25 |
---|---|
화면 전환 (2) | 2022.01.18 |
Xcode 오토레이아웃 (AutoLayout) (3) (0) | 2022.01.12 |
Xcode 오토레이아웃 (AutoLayout) (2) (0) | 2022.01.11 |
Xcode 오토레이아웃 (AutoLayout) (1) (0) | 2022.01.10 |