본문 바로가기

카테고리 없음

[내용정리] Swift - StackView사용법과 속성들 (2/2)

1편에서 stackView의 정의와 개념 및 distribution에 대해서 알아보았다.

1편을 보지 않았다면 미리 본이후 방문하는것을 추천한다.

https://yoonds-develop.tistory.com/47

 

alignment의 속성은 StackView내에서 subView의 하위 뷰들을 어떤식으로 정렬할것인지에 대해서 정의합니다.

Alignment

1. Fill

Fill

stackView의 axis와 수직인 방향으로 가능한 공간을 채우기위해 subView들을 resizing합니다.
쉽게 고무줄처럼 땡겨 늘어놓는다고 이해하면 된다.
axis가 Horizontal일경우 상하공간을 채우기 위해 resizing(키다리 만들기),
Vertical일경우 좌우 공간을 채우기위해 resizing된다(뚠뚠이 만들기).

 

 

2. Leading
Vertical에서 subView들의 leading edge와

stackView의 leading edge에 맞춰서 정렬한다.
Horizontal의 stackView에서 Top과 동일하다.

Leading

 

 

3. Top

Horizontal에서 subView들의 top edge와
stackView의 topEdge를 맞춰 정렬한다.
Vertical의 stackView에서 Leading과 동일하다.

Top

4. FirstBaseline

subView의 first baseline(첫재줄)을 기준으로 맞춰 정렬 할것인지를 말한다.

해당 정렬은 Horizontal에서만 유효하다.

FirstBaseline

5. LastBaseline

subView의 last baseline(마지막줄)을 기준으로 맞춰서 정렬 할것인지를 말한다.
해당 정렬은 Vertical에서만 유효하다.

LastBaseline

 

 

6. Center

stackView가 axis에 따라 subView들의 center를 stackView의 center에 맞춘다.

커다란 상자(stackView)안의 가운대에
조그만 상자(subView)들의 가운대를 맞춰서 정렬한다.

Center

 

 

7. Trailing

subView들의 우측이 Vertical stack의 trailing edge(우측)에 맞춰 정렬한다.
Horizontal의 Bottom정렬과 동일하다.

Trailing

8. Bottom

subView들의 하단이 Horizontal stack의 bottom edge(하단)에 맞춰저 정렬한다.
Vertical stack의 Trailing정렬과 동일하다.

 

Bottom

 

현재까지 분량2개를 통하여 stackView에 대해서 알아보았는데,

stackView를 사용하는데에 있어
한두개 정도의 뷰들은 하나씩 constraint를 걸어줘서 구현이 가능하지만
그이상으로 구현시에 stackView로 묶어서 사용하게되면 그룹관리가 되어
보다 편하게 배치가 가능하다는 장점이 있다.


단점이 존재한다고 하면
stackView내에서는 BackGround, Corner등의 설정이 불가하다는 점이다.
그래서 stackView를 Border등을 지정해주기 위해서는 한번더 UIview로 감싸서

사용해야 한다는 단점이 존재한다.