struct HStackExample: View { var body: some View { HStack { Text("DevTechie") .font(.largeTitle) Text("Learn by example") .font(.title3) } } }
struct HStackExample1: View { var body: some View { HStack { Text("DevTechie") .font(.largeTitle) Text("Learn by example") .font(.title3) } .padding() .border(Color.orange) } }
struct HStackExample1: View { var body: some View { HStack { Text("D") .font(.system(size: 38)) Text("E") .font(.system(size: 34)) Text("V") .font(.system(size: 30)) HStack { Text("T") .font(.system(size: 26)) Text("E") .font(.system(size: 22)) Text("C") .font(.system(size: 18)) } Group { Text("H") .font(.system(size: 14)) Text("I") .font(.system(size: 10)) Text("E") .font(.system(size: 6)) } } .padding() .border(Color.orange) } }
struct HStackExample1: View { @State private var spacing: CGFloat = 1.0 var body: some View { HStack(spacing: spacing) { Text("D") .font(.system(size: 38)) Text("E") .font(.system(size: 34)) Text("V") .font(.system(size: 30)) Text("T") .font(.system(size: 26)) Text("E") .font(.system(size: 22)) Text("C") .font(.system(size: 18)) Text("H") .font(.system(size: 14)) Text("I") .font(.system(size: 10)) Text("E") .font(.system(size: 6)) } .padding() .border(Color.orange) .task { spacing = spacing == 1 ? 20 : 1 } .animation(Animation.easeInOut(duration: 2).repeatForever(), value: spacing) } }
struct HStackExample1: View { @State private var alignmentProp: VerticalAlignment = .center var body: some View { VStack { HStack (alignment: alignmentProp) { VStack { Text("DevTechie") Text("Learn by example") }.font(.largeTitle) HStack { Text("SwiftUI") Text("Swift") Text("iOS") }.padding(10) .background(Color.blue) } .frame(maxWidth: .infinity) .background(Color.orange) .animation(.easeInOut, value: alignmentProp) ControlGroup { Button("Top") { alignmentProp = .top } Button("Center") { alignmentProp = .center } Button("Bottom") { alignmentProp = .bottom } Button("First Text") { alignmentProp = .firstTextBaseline } Button("Last Text") { alignmentProp = .lastTextBaseline } } .padding(20) } } }
Notice: use of firstTextAlignment and lastTextAlignment. firstTextAlignment will align bottom of “SwiftUI, Swift, iOS” text to the bottom of first text which is “DevTechie”. lastTextAlignment will align bottom of “SwiftUI, Swift, iOS” text to the bottom of last text, which is “Learn by example.”
struct HStackExample1: View { var body: some View { HStack { Capsule() .fill(Color.orange) .overlay(Text("Dev")) Capsule() .fill(Color.blue) .overlay(Text("Tech")) Capsule() .fill(Color.teal) .overlay(Text("ie")) } .frame(maxHeight: 200) } }
struct HStackExample1: View { @State private var devPriority: CGFloat = 1.0 @State private var techPriority: CGFloat = 1.0 @State private var iePriority: CGFloat = 1.0 var body: some View { HStack { Capsule() .fill(Color.orange) .overlay(Text("p:\(Int(devPriority)) Dev")) .layoutPriority(devPriority) .animation(.easeInOut, value: devPriority) Capsule() .fill(Color.blue) .overlay(Text("p:\(Int(techPriority)) Tech")) .layoutPriority(techPriority) .animation(.easeInOut, value: techPriority) Capsule() .fill(Color.teal) .overlay(Text("p:\(Int(iePriority)) ie")) .layoutPriority(iePriority) .animation(.easeInOut, value: iePriority) } .frame(maxHeight: 200) ControlGroup { Button("Dev") { devPriority = devPriority == 1.0 ? 2.0 : 1.0 } Button("Tech") { techPriority = techPriority == 1.0 ? 2.0 : 1.0 } Button("ie") { iePriority = iePriority == 1.0 ? 2.0 : 1.0 } }} }
struct HStackExample1: View { @State private var devPriority: CGFloat = 1.0 @State private var techPriority: CGFloat = 1.0 @State private var iePriority: CGFloat = 1.0 var body: some View { HStack { Capsule() .fill(Color.orange) .overlay(Text("p:\(Int(devPriority)) Dev")) .frame(minWidth: 20) .layoutPriority(devPriority) .animation(.easeInOut, value: devPriority) Capsule() .fill(Color.blue) .frame(minWidth: 20) .overlay(Text("p:\(Int(techPriority)) Tech")) .layoutPriority(techPriority) .animation(.easeInOut, value: techPriority) Capsule() .fill(Color.teal) .frame(minWidth: 20) .overlay(Text("p:\(Int(iePriority)) ie")) .layoutPriority(iePriority) .animation(.easeInOut, value: iePriority) } .frame(maxHeight: 200) ControlGroup { Button("Dev") { devPriority = devPriority == 1.0 ? 2.0 : 1.0 } Button("Tech") { techPriority = techPriority == 1.0 ? 2.0 : 1.0 } Button("ie") { iePriority = iePriority == 1.0 ? 2.0 : 1.0 } }} }
struct HStackExample1: View { var body: some View { HStack { Text("DevTechie") .font(.largeTitle) Text("Learn by example") Text("SwiftUI, Swift, iOS") Text("Without priority") } .frame(maxHeight: 200) } }
struct HStackExample1: View { var body: some View { HStack { Text("DevTechie") .font(.largeTitle) .layoutPriority(2) Text("Learn by example") Text("SwiftUI, Swift, iOS") Text("Without priority") .layoutPriority(2) } .frame(maxHeight: 200) } }