struct TextBottcamp: View {
var body: some View {
Text("Hello world!")
.frame(width: 200, height: 100, alignment: .center)
.minimumScaleFactor(0.1)
}
}
frame 같은 경우 말그대로 frame임
Text 뷰를 내가 원하는 사이즈의 사각형 프레임 안에 가둘 수 있다!
이렇게 가뒀을 때 최소 스케일 크기도 설정 가능
struct SahpesBootCamp: View {
var body: some View {
Circle()
// .fill(Color.blue)
// .foregroundColor(.pink)
// .stroke()
// .stroke(Color.red)
// .stroke(Color.blue, lineWidth: 30)
.stroke(Color.orange, style: StrokeStyle(lineWidth: 30, lineCap: .round, dash: [30]))
.padding()
}
}
엄청 다양한 방법으로 shape 커스텀 가능!
약간 에펙 프로퍼티들 커스텀하는 느낌이랑 비슷!
struct ColorsBootcamp: View {
var body: some View {
RoundedRectangle(cornerRadius: 25)
.fill(Color.primary)
.frame(width: 300, height: 200)
}
}
Color.primary는 labelColor랑 비슷함
light이나 dark에 맞춰서 바뀌는 색상
칼라셋도 추가가능
인풋 메소드 헥스로 바꿔주면 헥스값으로 넘겨줄 수 있음
요렇게 칼라셋 이름으로 바로 넣어줄수도 있음
Shadow 넣기도 가능
struct GradientBootcamp: View {
var body: some View {
RoundedRectangle(cornerRadius: 25.0)
.fill(
//Color.red
// LinearGradient(colors: [Color.red, Color.blue] ,startPoint: .topLeading, endPoint: .trailing)
// RadialGradient(gradient: Gradient(colors: [Color.red, Color.blue]),
// center: .center, startRadius: 5, endRadius: 200)
AngularGradient(gradient: Gradient(colors: [Color.red, Color.blue]), center: .topLeading, angle: .degrees(180))
)
.frame(width: 300, height: 200)
}
}
SF symbol 같은 경우 폰트 사이즈를 적용하는 걸로도 사이즈 변경이 가능함
앱에 존재하는 모든 object들은 Frame을 가지고 있음
frame에 프로퍼티들이 다양하게 있는데 원하는대로 작성해주면 됨!
지금처럼 maxWidth에 .infinity넣어주는 건 애플 Dev tutorial에도 나왔던 내용
요렇게 프레임이랑 background 계속 중첩도 가능!