Stacks automatically adjust to screen size and orientation.
You can nest stacks inside each other for complex layouts.
Use alignment and spacing parameters to control layout details.
Summary
VStack arranges views vertically.
HStack arranges views horizontally.
ZStack layers views on top of each other.
Practice
(1/5)
1. Which SwiftUI stack arranges views vertically, one on top of the other? VStack, HStack, or ZStack?
easy
A. ZStack
B. VStack
C. HStack
D. StackView
Solution
Step 1: Understand VStack behavior
VStack arranges child views vertically, stacking them from top to bottom.
Step 2: Compare with other stacks
HStack arranges views horizontally, ZStack layers views on top of each other.
Final Answer:
VStack -> Option B
Quick Check:
Vertical arrangement = VStack [OK]
Hint: Remember V for vertical stacking [OK]
Common Mistakes:
Confusing HStack with VStack
Thinking ZStack arranges views vertically
Assuming StackView is a SwiftUI stack
2. Which of the following is the correct syntax to create a horizontal stack with two Text views in SwiftUI?
?
easy
A. HStack -> Text("Hello") + Text("World")
B. HStack(Text("Hello"), Text("World"))
C. HStack[Text("Hello"), Text("World")]
D. HStack { Text("Hello") Text("World") }
Solution
Step 1: Recall SwiftUI stack syntax
Stacks use braces { } to group child views, separated by spaces or newlines.
Step 2: Identify correct syntax
HStack { Text("Hello") Text("World") } uses braces and places Text views inside correctly. Others use invalid syntax.
Final Answer:
HStack { Text("Hello") Text("World") } -> Option D
Quick Check:
Use braces for stacks [OK]
Hint: Stacks use braces { } to group views [OK]
Common Mistakes:
Using parentheses instead of braces
Using brackets instead of braces
Trying to use operators to combine views
3. What will be the visual arrangement of the texts when this SwiftUI code runs?
ZStack {
Text("Bottom")
Text("Top")
}
medium
A. Texts appear side by side horizontally
B. "Bottom" text appears above "Top" text
C. "Top" text appears above "Bottom" text
D. Texts appear stacked vertically
Solution
Step 1: Understand ZStack layering order
ZStack layers views in order, last view is on top visually.
Step 2: Apply to given code
"Bottom" is added first, "Top" second, so "Top" appears above "Bottom".
Final Answer:
"Top" text appears above "Bottom" text -> Option C
Quick Check:
ZStack last view is top layer [OK]
Hint: Last view in ZStack is on top [OK]
Common Mistakes:
Assuming first view is on top
Thinking ZStack arranges views horizontally
Confusing ZStack with VStack or HStack
4. Identify the error in this SwiftUI code snippet:
HStack {
Text("One")
VStack
Text("Two")
}
medium
A. Missing braces after VStack declaration
B. Text views cannot be inside HStack
C. HStack requires parentheses instead of braces
D. VStack cannot be nested inside HStack
Solution
Step 1: Check VStack usage
VStack is a view container and requires braces { } to enclose child views.
Step 2: Identify missing braces
Code shows VStack without braces, causing syntax error.
Final Answer:
Missing braces after VStack declaration -> Option A
Quick Check:
Containers need braces for children [OK]
Hint: Always add braces after VStack or HStack [OK]
Common Mistakes:
Omitting braces for stack containers
Thinking Text can't be inside HStack
Using parentheses instead of braces for stacks
5. You want to create a SwiftUI view where three colored squares overlap each other with red on bottom, green in middle, and blue on top. Which stack and order of views achieves this?
hard
A. ZStack { Color.red Color.green Color.blue } with Color.blue last
B. VStack { Color.red Color.green Color.blue } with Color.red last
C. HStack { Color.blue Color.green Color.red } with Color.red last
D. ZStack { Color.blue Color.green Color.red } with Color.red last
Solution
Step 1: Choose stack for overlapping views
ZStack layers views on top of each other, perfect for overlapping.
Step 2: Order views for correct layering
In ZStack, last view is top layer, so Color.blue last puts blue on top, red first puts red at bottom.
Final Answer:
ZStack { Color.red Color.green Color.blue } with Color.blue last -> Option A
Quick Check:
ZStack layering order = last view on top [OK]
Hint: Use ZStack; last view is top layer [OK]
Common Mistakes:
Using VStack or HStack for overlapping
Reversing order of colors in ZStack
Thinking first view is top layer in ZStack
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.