102

How do you set the text for a UILabel to bold in Swift programmatically? My code so far:

    var label = UILabel(frame:theFrame)
    label.text = "Foo"
rmaddy
  • 307,833
  • 40
  • 508
  • 550
bhzag
  • 2,814
  • 7
  • 21
  • 38

2 Answers2

280

Use font property of UILabel:

label.font = UIFont(name:"HelveticaNeue-Bold", size: 16.0)

or use default system font to bold text:

label.font = UIFont.boldSystemFont(ofSize: 16.0)
Cœur
  • 34,719
  • 24
  • 185
  • 251
codester
  • 35,921
  • 10
  • 73
  • 71
16

Use attributed string:

// Define attributes
let labelFont = UIFont(name: "HelveticaNeue-Bold", size: 18)
let attributes :Dictionary = [NSFontAttributeName : labelFont]

// Create attributed string
var attrString = NSAttributedString(string: "Foo", attributes:attributes)
label.attributedText = attrString

You need to define attributes.

Using attributed string you can mix colors, sizes, fonts etc within one text

sumofighter666
  • 1,007
  • 10
  • 29
  • 8
    Technically correct, but slightly overkill. – nhgrif Jul 29 '14 at 23:09
  • 1
    To expand on nhgrif's comment. NSAttributedString makes sense in this case - http://stackoverflow.com/questions/28496093/making-text-bold-using-attributed-string-in-swift – Nitin Nain Mar 20 '16 at 17:28