Bird
Raised Fist0
iOS Swiftmobile~10 mins

Overlay and background modifiers in iOS Swift - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add a red background color to the Text view.

iOS Swift
Text("Hello World")
  .background([1])
Drag options to blanks, or click blank then click option'
AColor.blue
BColor.green
CColor.yellow
DColor.red
Attempts:
3 left
💡 Hint
Common Mistakes
Using the overlay modifier instead of background.
Passing a string instead of a Color.
2fill in blank
medium

Complete the code to overlay a blue circle on top of the Text view.

iOS Swift
Text("Hello")
  .overlay(Circle().fill([1]).frame(width: 100, height: 100))
Drag options to blanks, or click blank then click option'
AColor.orange
BColor.blue
CColor.green
DColor.red
Attempts:
3 left
💡 Hint
Common Mistakes
Using background instead of overlay.
Forgetting to call fill on the Circle.
3fill in blank
hard

Fix the error in the code to correctly add a yellow background with 50% opacity.

iOS Swift
Text("SwiftUI")
  .background(Color.yellow[1])
Drag options to blanks, or click blank then click option'
A.opacity(0.5)
B(opacity: 0.5)
C.alpha(0.5)
D(alpha: 0.5)
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to pass opacity as a parameter inside parentheses.
Using .alpha which is not a SwiftUI method.
4fill in blank
hard

Fill both blanks to overlay a rounded rectangle with a green stroke and add a gray background.

iOS Swift
Text("Overlay")
  .overlay(RoundedRectangle(cornerRadius: [1]).stroke([2]))
  .background(Color.gray)
Drag options to blanks, or click blank then click option'
A10
BColor.green
C5
DColor.blue
Attempts:
3 left
💡 Hint
Common Mistakes
Using a color where a number is expected for corner radius.
Choosing the wrong color for the stroke.
5fill in blank
hard

Fill all three blanks to create a Text view with a blue background, overlay a red circle, and add padding of 20.

iOS Swift
Text("Hello")
  .background([1])
  .overlay(Circle().fill([2]))
  .padding([3])
Drag options to blanks, or click blank then click option'
AColor.blue
BColor.red
C20
DColor.green
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up colors for background and overlay.
Using padding without a number.

Practice

(1/5)
1. What does the .overlay() modifier do in SwiftUI?
easy
A. Removes the existing view
B. Adds a view behind the existing view
C. Adds a view on top of the existing view
D. Changes the size of the existing view

Solution

  1. Step 1: Understand the purpose of .overlay()

    The .overlay() modifier places a new view on top of the original view, layering it above.
  2. Step 2: Compare with other modifiers

    .background() adds behind, but .overlay() adds on top, so it does not add behind or remove views.
  3. Final Answer:

    Adds a view on top of the existing view -> Option C
  4. Quick Check:

    Overlay = on top [OK]
Hint: Overlay means 'on top', background means 'behind' [OK]
Common Mistakes:
  • Confusing overlay with background
  • Thinking overlay removes views
  • Assuming overlay changes size
2. Which of the following is the correct syntax to add a red circle as a background to a Text view in SwiftUI?
easy
A. Text("Hello").circle().background(Color.red)
B. Text("Hello").background(Circle().fill(Color.red))
C. Text("Hello").background(Color.red).circle()
D. Text("Hello").overlay(Circle().fill(Color.red))

Solution

  1. Step 1: Identify correct modifier usage

    To add a shape behind a view, use .background() with the shape view inside.
  2. Step 2: Check syntax correctness

    Text("Hello").background(Circle().fill(Color.red)) correctly adds a red circle behind the text. Other options misuse modifiers or order.
  3. Final Answer:

    Text("Hello").background(Circle().fill(Color.red)) -> Option B
  4. Quick Check:

    Background with shape inside = correct syntax [OK]
Hint: Background wraps shape inside parentheses after .background() [OK]
Common Mistakes:
  • Using overlay instead of background for behind view
  • Calling .circle() on Text (no such modifier)
  • Placing background after shape incorrectly
3. What will be the visible result of this SwiftUI code?
Text("Hi")
  .background(Color.yellow)
  .overlay(Text("Overlay"))
medium
A. Text "Hi" with yellow background and "Overlay" text on top
B. Text "Hi" with yellow background only, no overlay text
C. Text "Overlay" with yellow background, "Hi" hidden
D. Only yellow background visible, no text

Solution

  1. Step 1: Understand modifier order

    The .background(Color.yellow) adds a yellow color behind "Hi" text. Then .overlay(Text("Overlay")) places "Overlay" text on top.
  2. Step 2: Visual layering result

    Both texts are visible: "Hi" with yellow behind, and "Overlay" layered above.
  3. Final Answer:

    Text "Hi" with yellow background and "Overlay" text on top -> Option A
  4. Quick Check:

    Background behind, overlay on top = layered views [OK]
Hint: Background is behind, overlay is on top, both visible [OK]
Common Mistakes:
  • Thinking overlay replaces original text
  • Ignoring modifier order effects
  • Assuming background covers overlay
4. Identify the error in this SwiftUI code snippet:
Image(systemName: "star")
  .overlay(Circle().stroke(Color.blue))
  .background(Circle().fill(Color.yellow))
  .background(Color.red)
medium
A. Circle cannot be used inside overlay
B. Overlay must come after all backgrounds
C. Image cannot have background or overlay modifiers
D. Multiple background modifiers cause only the first to apply

Solution

  1. Step 1: Analyze multiple background modifiers

    Applying .background() twice stacks backgrounds, but only the first background modifier applies directly behind the view, later ones get layered behind that.
  2. Step 2: Understand layering order

    The last .background(Color.red) will be behind the yellow circle background, so the red color might be hidden or layered behind unexpectedly.
  3. Final Answer:

    Multiple background modifiers cause only the first to apply -> Option D
  4. Quick Check:

    Last background behind earlier ones visually [OK]
Hint: Multiple backgrounds stack but first is closest behind view [OK]
Common Mistakes:
  • Thinking overlay must be last
  • Believing Circle can't be overlay
  • Assuming Image can't have modifiers
5. You want to create a button with a blue rounded rectangle background and a white checkmark icon overlay on top. Which SwiftUI code correctly achieves this layering?
hard
A. Image(systemName: "checkmark") .background(RoundedRectangle(cornerRadius: 10).fill(Color.blue)) .overlay(Image(systemName: "checkmark").foregroundColor(.white))
B. Image(systemName: "checkmark") .background(Color.blue.cornerRadius(10)) .overlay(Color.white.opacity(0.5))
C. Image(systemName: "checkmark") .overlay(Color.blue.cornerRadius(10))
D. Image(systemName: "checkmark") .background(Image(systemName: "checkmark")) .overlay(Color.blue.cornerRadius(10))

Solution

  1. Step 1: Add blue rounded rectangle background

    Use .background(RoundedRectangle(cornerRadius: 10).fill(Color.blue)) to create a blue rounded rectangle behind the icon.
  2. Step 2: Overlay white checkmark icon

    Use .overlay(Image(systemName: "checkmark").foregroundColor(.white)) to place a white checkmark on top of the background.
  3. Step 3: Verify layering and colors

    This layering ensures the blue shape is behind and the white icon is visible on top.
  4. Final Answer:

    Image(systemName: "checkmark") .background(RoundedRectangle(cornerRadius: 10).fill(Color.blue)) .overlay(Image(systemName: "checkmark").foregroundColor(.white)) -> Option A
  5. Quick Check:

    Background shape + overlay icon = correct layering [OK]
Hint: Background for shape, overlay for icon on top [OK]
Common Mistakes:
  • Using overlay for background shape
  • Overlaying color instead of icon
  • Background with icon instead of shape
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard