效果:想要一個這樣的樣式显拳。
效果圖.png
如何來考慮布局呢棚愤?
解析.png
思路:
首先:從圖上可以看出左邊的為一個整體,右邊的為一個整體杂数。
然后:上述每一部分都是VStack結構
最后:上述VStack中宛畦,每一部分為一個HStack矛绘,因為純Text只會居中,不好設置間距
Ok刃永,上代碼:
核心代碼:
struct DateTheme1: View {
var body: some View {
ZStack {
Image("twinlake")
.resizable()
.frame(width: 155, height: 155)
VStack {
HStack {
Spacer()
Text("23")
.font(Font.system(size: 57))
.padding(.trailing, 17)
.frame(height: 68)
}
.padding(.top, 5)
HStack {
Spacer()
Text("15")
.font(Font.system(size: 57))
.padding(.trailing, 17)
.padding(.top, -(18))
}
Spacer()
}
VStack {
Spacer()
HStack {
Text("FRI")
.font(Font.system(size: 29))
.padding(.leading, 14)
Spacer()
}
HStack {
Text("Nov 16")
.font(Font.system(size: 11))
.padding(.bottom, 14)
.padding(.leading, 14)
Spacer()
}
}
}
.frame(width: 155, height: 155)
.background(Color.yellow)
}
}