Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩
SwiftUI/SwiftUI(Basic)

6. [SwiftUI] .frame() 프레임

by Toughie 2023. 4. 3.

 

화면 위의 모든 객체들은 default 프레임(직사각형 영역)이 있음 

alignment -> 프레임 내에서 객체를 어떻게 정렬할 것인가?

 

아래 결과물과 코드를 보면 프레임이 무엇인지 더 잘 알 수 있을 것이다. (프레임 프레임 프레임 프레임 프레임...)

 

이전 프레임들을 마지막 프레임이 감싸는 형태임

(마지막이 푸른 프레임이니, 해당 프레임의 alignment를 .top으로 해주면 내부에 있는 프레임들이 모두 top으로 정렬됨

(정확히는 노란 프레임이 정렬된 것인데, 노란 프레임 안에 핑크, 보라, 오렌지..그리고 Text고유 프레임(초록색)이 모두 있으니..)

 

약간 현대미술 같은.. ㅋㅋㅋ

사실 이렇게 프레임마다 색을 설정해주는 식으로 하지는 않겠지만..

프레임의 영역을 확인하기 위해서 백그라운드 컬러를 바꿔주는게 가장 직관적이고 확실해서 좋다.

 

//  Created by Toughie on 2023/04/03.
//

import SwiftUI

struct framePractice: View {
    var body: some View {
        Text("Hello, Toughie!")
        
            .background(Color.green)
            .frame(height: 100, alignment: .top)
            .background(Color.orange)
            .frame(width: 150)
            .background(Color.purple)
            .frame(maxWidth: .infinity, alignment: .leading)
            .background(Color.pink)
            .frame(height: 400)
            .background(Color.yellow)
            .frame(maxHeight: .infinity, alignment: .top)
            .background(Color.blue)
        
//            .frame(width: 300, height: 300, alignment: .center)
        
        //프레임 세부 설정
            .frame(minWidth: CGFloat?,
                   idealWidth: CGFloat?,
                   maxWidth: CGFloat?,
                   minHeight: CGFloat?,
                   idealHeight: CGFloat?,
                   maxHeight: CGFloat?,
                   alignment: Alighment
                   )

//            .background(Color.blue)
        
    }
}