같은 사이즈로 계속 resize 되는 것을 알 수 있다!
Spacer는 minLength 파라미터가 있다!(옵셔널)
Spcaer(minLength: nil) == Spacer()
minLength를 nil로 두어도 어느정도의 최소길이는 default로 있음.
만약 스택에 수평패딩을 많이 주면 중앙으로 쪼그라 드는데
붉은 정사각형의 스페이서만 최소 길이를 정해준 케이스이다.(혼자만 긴 것을 알 수 있다.)
(오른쪽 사진은 minLength: 0인 케이스_완전 붙게 할 수도 있다.)
종료 및 설정 버튼을 만드는 시나리오
버튼 사이에 스페이서를 넣어 HStack로 묶고,
이 HStack과 스페이서를 VStack으로 묶어주면 된다.
// Created by Toughie on 2023/04/04.
//
import SwiftUI
struct spacer: View {
var body: some View {
VStack {
HStack(spacing: 0) {
Image(systemName: "xmark")
Spacer()
.frame(height: 10)
.background(Color.orange)
Image(systemName: "gear")
}
.font(.title)
.padding(.horizontal)
Spacer()
.frame(width: 10)
.background(Color.yellow)
Rectangle()
.foregroundColor(Color.blue)
.frame(height: 50)
}
// .padding(.vertical)
// .background(Color.pink)
}
}
'SwiftUI > SwiftUI(Basic)' 카테고리의 다른 글
12. [SwiftUI] ForEach / .indices / Hashable (0) | 2023.04.13 |
---|---|
11. [SwiftUI] init() (0) | 2023.04.12 |
9. [SwiftUI] .padding() 패딩 (0) | 2023.04.04 |
8. [SwiftUI] VStack, HStack, ZStack 스택 (0) | 2023.04.03 |
7. [SwiftUI] .background() & .overlay() 백그라운드 & 오버레이 (0) | 2023.04.03 |