Unleashing Creativity: A Deep Dive into BlendMode in SwiftUI

Saeid Rezaeisadrabadi
3 min readFeb 12, 2024

In this, I want to talk about BlendMode in SwiftUI. we'll dive into it, exploring and demonstrating how to harness its potential for creating captivating and unique visual experiences in SwiftUI.

What is BlendMode?

BlendMode is a feature that allows developers to control how one view blends with the content beneath it. Whether you’re looking to add depth, and transparency, or create unique color combinations, It lets you experiment with different blending modes to achieve various visual effects.

How to use

Using blendModel is quite straightforward.
First I am creating a new image as a background image.

Then I am creating a rectangle on top of my background image.

Image("background")
.blendMode(.multiply)
.overlay(
Rectangle()
.fill(.green)
.blendMode(.screen)
)

I use the .multiply and .screen blend modes to create a visually compelling composition of the two images.

BlendMode isn't limited to images; it seamlessly integrates with text and shapes. Enhance your text and shape elements with dynamic and captivating blending effects:

Text("SwiftUI Blending Magic")
.font(.title)
.foregroundColor(.blue)
.overlay {
Rectangle()
.fill(.red)
.blendMode(.colorBurn)
}

Let’s consider a real-world example, I want to have a background image and display the brand name on top of it. the images loaded dynamically, so I don’t know what color they use. Consequently, I don’t know what color the brand name should have. we could get the text color via API, but let’s imagine that’s not possible in our use case.

Image("background_game")
.blendMode(.multiply)
.overlay(
text
.foregroundColor(.white)
.blendMode(.difference)
.overlay(text.blendMode(.hue))
.overlay(text.foregroundColor(.white).blendMode(.overlay))
.overlay(text.foregroundColor(.black).blendMode(.overlay))
)

text is a custom view that I applied font and a custom frame. then I used overlay modifier to show it on top of my image. here is the result:

Conclusion

In conclusion, understanding BlendMode in SwiftUI unlocks a new realm of creative potential for UI designers and developers. Experiment with different modes, blend colors, and elevate your app's visual design. Whether you're crafting a simple view or a complex one, BlendMode is your ticket to creating unforgettable user experiences in SwiftUI. Dive in, experiment, and let your creativity blend seamlessly with SwiftUI's power.

--

--