EunHee-Jeong/TIL

Stacks, Spacer()

EunHee-Jeong opened this issue · 0 comments

Stacks과 Spacer

SwiftUI → 자동으로 View의 레이아웃을 잡아준다. 여기서 핵심은 Stack 을 사용하는 것이다 !!

  • Stack은 총 3개로, HStack, VStack, ZStack 가 있다.

1. HStack

  • Horizontal-Stack의 줄임말이다. 뷰를 가로로 배치할 수 있도록 도와주는 View를 말한다.

  • 좌측부터 순서대로 배치된다.

  • 코드 예시

    HStack {
    	Image("paperplane.circle")
    	Image("paperplane.circle")
    }

2. VStack

  • Vertical-Stack의 줄임말이다. 뷰를 세로로 배치할 수 있도록 도와주는 View를 말한다.

  • 위에서 아래 순으로 배치된다.

  • 코드 예시

    VStack {
    	Image("paperplane.circle")
    	Image("paperplane.circle")
    }

3. ZStack

  • x, y, z 축을 말할 때의 z를 의미한다.

  • View들을 위로 쌓는다.

    • 순서대로 하나씩 올려 놓는다고 생각하면 된다.
  • 코드 예시

    ZStack {
    	Image("paperplane.circle") // 아래에 놓일 뷰
    		.resizable()
    		.frame(width: 200, height: 200)
    	Image("paperplane.circle") // 위에 올라갈 뷰
    }
  • Alignment 속성을 가진다.

image

4. Spacer

  • 빈 공간을 만들어주는 메서드이다.

  • 다른 객체들의 크기에 Priority 를 두고, 그들의 크기를 변화시키지 않는 선에서 본인의 크기를 최대한으로 늘리는 성질을 가진다.

    • 약간 fill + spacing 성질을 가진 빈 껍데기 스택뷰라고 생각하면 될 듯 ...? 아닐 수도 . . .
  • 즉 Spacer()는 빈 공간에 맞게 본인의 크기를 자체적으로 최대한 늘리는 특징이 있다.