Updated for Xcode 13.0 beta 2
SwiftUI lets you combine text views using
+, but you can also place images directly into text using a simple
Text initializer. This allows you to place images directly inside text, including having the text and images wrap as needed.
For example, this writes “Hello World” with a star image in the middle:
Text("Hello ") + Text(Image(systemName: "star")) + Text(" World!")
The images inside your text will automatically adjust to match whatever font or foreground color you’ve chosen, but make sure you apply your modifiers to the whole joined text rather than simply the last item.
For example, this will make the whole combined text large and blue:
(Text("Hello ") + Text(Image(systemName: "star")) + Text(" World!")) .foregroundColor(.blue) .font(.largeTitle)
Whereas this – without the extra parentheses – will make only the “World” text large and blue:
Text("Goodbye ") + Text(Image(systemName: "star")) + Text(" World!") .foregroundColor(.blue) .font(.largeTitle)
SPONSORED From August 2nd to 8th you can join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer!
Link copied to your pasteboard.