SwiftUI 에서 VStack 이나 HStack 을 사용할 때 자식 뷰들의 넓이 혹은 높이를 똑같이 맞춰주고 싶은 경우가 많다. 그럴 땐 다음과 같이 frame 을 지정해주도록 하자!
VStack(spacing:0) {
Text("안녕!!!!")
.frame(maxHeight:.infinity) //maxHeight 속성을 .infinity 로 변경!
.background(Color.blue)
Text("월드!!!!\n\n\n\n\n\n")
.frame(maxHeight:.infinity) //이하동문
.background(Color.red)
}
VStack 안의 Text 들의 높이가 똑같아 진 것을 확인할 수 있다. 만약 여기서 frame 속성을 뺀다면
위와 같이 높이가 서로 다른 것을 볼 수 있다.
HStack 도 마찬가지로 frame(maxWidth:.infinity) 를 작성하도록 하자
HStack (spacing: 0){
Text("hello")
.frame(maxWidth:.infinity)
.background(Color.blue)
Text("World!!!!!!!!!!!!!")
.frame(maxWidth : .infinity)
.background(Color.green)
}
위 코드도 마찬가지로 frame 속성을 없애면, 다음과 같이 넓이가 다른 것을 볼 수 있다 .
'Swift UI' 카테고리의 다른 글
Swift UI - Environment 객체 (0) | 2022.02.14 |
---|---|
Swift UI - Observable 객체 (0) | 2022.02.14 |
Swift UI 상태 프로퍼티 - @State (0) | 2022.02.14 |
Comment