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
Did this solution work for you? Please pass it on!
Other people are reading…
About the Swift Knowledge Base
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Build for watchOS
Take your existing Swift skills to Apple's tiniest platform – check out Hacking with watchOS!