Swift version: 5.10
Attributed strings are strings with formatting attached, which means fonts, colors, alignment, line spacing and more. They are supported in many places around iOS, which means you can assign a fully formatted string to a UILabel
and have it look great with no further work.
Please keep in mind, when working with fonts it's preferable to use Dynamic Type where possible so that a user's font size settings are honored. The example code below creates an attributed string using the "Headline" Dynamic Type size, then colors it purple. That is then placed into a UILabel
by setting its attributedText
property:
let titleAttributes = [NSAttributedString.Key.font: UIFont.preferredFont(forTextStyle: .headline), NSAttributedString.Key.foregroundColor: UIColor.purple]
let titleString = NSAttributedString(string: "Read all about it!", attributes: titleAttributes)
yourLabel.attributedText = titleString
SPONSORED Alex is the iOS & Mac developer’s ultimate AI assistant. It integrates with Xcode, offering a best-in-class Swift coding agent. Generate modern SwiftUI from images. Fast-apply suggestions from Claude 3.5 Sonnet, o3-mini, and DeepSeek R1. Autofix Swift 6 errors and warnings. And so much more. Start your 7-day free trial today!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 6.0 – see Hacking with Swift tutorial 32
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.