Updated for Xcode 12.0
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 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("Hello ") + Text(Image(systemName: "star")) + Text(" World!")
.foregroundColor(.blue)
.font(.largeTitle)
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.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.