Swift version: 5.0
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
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
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.