Updated for Xcode 12.5
SwiftUI gives us the
mask() modifier for masking one with another, which means you can mask an image using text or an image using an image, or more.
For example, this creates a 300x300 image of stripes, then masks it using the text “SWIFT!” so that the letters act as a cut out for the image:
Image("stripes") .resizable() .frame(width: 300, height: 300) .mask(Text("SWIFT!") .font(.system(size: 72).bold()))
mask() modifier is different from
clipShape(), because it also applies any transparency from the masking view – you get to have holes in your underlying view based on the transparency of your mask. On the other hand,
clipShape() only adjusts the outside shape of the view you apply it to.
SPONSORED Building and maintaining in-app subscription infrastructure is hard. Luckily there's a better way. With RevenueCat, you can implement subscriptions for your app in hours, not months, so you can get back to building your app.
Link copied to your pasteboard.