Alignment Positions
Published by @SoNiceInfo at 6/24/2020
You can define 9 positions with Alignment.
This is a figure showing the alignments.
To show alighment positions, letters are framed with red, frames are colored with blue using VStack
and HStack
.
Aligment is specified like VStack(alignment: .leading)
and frame(alignment: .top)
.
Once you learn Top, Bottom, Leading and Trailing, you can use it intuitively.
topLeading | top | topTrailing |
---|---|---|
leading | center | trailing |
bottomLeading | bottom | bottomTrailing |
//
// ContentView.swift
//
import SwiftUI
struct ContentView: View {
var body: some View {
VStack() {
HStack() {
Text("topLeading")
.border(Color.red)
.frame(width: 100, height: 100, alignment: .topLeading)
.border(Color.blue)
Text("top")
.border(Color.red)
.frame(width: 100, height: 100, alignment: .top)
.border(Color.blue)
Text("topTrailing")
.border(Color.red)
.frame(width: 100, height: 100, alignment: .topTrailing)
.border(Color.blue)
}
HStack() {
Text("leading")
.border(Color.red)
.frame(width: 100, height: 100, alignment: .leading)
.border(Color.blue)
Text("center")
.border(Color.red)
.frame(width: 100, height: 100, alignment: .center)
.border(Color.blue)
Text("trailing")
.border(Color.red)
.frame(width: 100, height: 100, alignment: .trailing)
.border(Color.blue)
}
HStack() {
Text("bottomLeading")
.border(Color.red)
.frame(width: 100, height: 100, alignment: .bottomLeading)
.border(Color.blue)
Text("bottom")
.border(Color.red)
.frame(width: 100, height: 100, alignment: .bottom)
.border(Color.blue)
Text("bottomTrailing")
.border(Color.red)
.frame(width: 100, height: 100, alignment: .bottomTrailing)
.border(Color.blue)
}
}.border(Color.blue)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}