해결된 질문
작성
·
192
0
"뷰는 자신의 콘텐트와 자신이 속한 레이아웃에 따라 자동으로 크기가 조절됩니다. 하지만 frame 수정자를 사용하여 뷰의 크기나 영역을 조절 할 수 있습니다."
프레임은 해당 글과 같은 역할을 한다고 볼 수 있을거 같은데 아래 실습을 통해 추가적으로 이해를 해보려고 하면
VStack(spacing: 20){
Text("Hello World!")
.font(.title)
.background(Color.red)
.frame(height: 100, alignment: .top)
// 100프레임에 대한 컨텐츠는 위에 붙게됨
.background(.orange)
.frame(width: 200)
.background(Color.purple)
.frame(maxWidth: .infinity, alignment: .leading)
.background(Color.pink)
.frame(height: 400)
.background(Color.green)
.frame(maxHeight: .infinity, alignment: .top)
.background(Color.yellow)
}
실질적으로 뷰의 크기나 영역을 frame 함수를 통해 조각조각 붙여나가는 방식으로 구현한다.라고 정리될 거 같습니다. 제가 이해한 게 맞는지 궁금합니다. 이런 식으로 조각을 붙여가면서 구현을 하는 개념으로 이해해도 되는 건지...
답변 1
0
안녕하세요 조승범님.
SwiftUI 에서 frame 은 View 타입 안에서 사용하는 Modifier 형태로서 .frame()
형태로 사용되어 지는데 위의 실습 코드를 통해서 보면 frame 형태 안에서 object 의 크기를 정한다고 보시면 됩니다.
위의 코드에서 프리뷰를 보시게 되면 조각조각 붙여 나간다고 보실수도 있는데요, 실제로는 code 순서에 따라서 중복되는 부분이 덮어 씌워 진다고 보시면 됩니다.