make UILabel's text bold
Asked Answered
C

6

67

I want to make UILabel's text bold

infoLabel=[[UILabel alloc]initWithFrame:CGRectMake(90,150, 200, 30)];
[infoLabel setText:@"Drag 14 more Flavors"];
[infoLabel setBackgroundColor:[UIColor clearColor]];
[infoLabel setFont:[UIFont fontWithName:@"Arial" size:16]];

[infoLabel setTextColor:[UIColor colorWithRed:193.0/255 
                                        green:27.0/255 
                                         blue:23.0/255 
                                        alpha:1 ]];
Concerted answered 5/1, 2011 at 9:38 Comment(0)
M
69

Try

[infoLabel setFont:[UIFont fontWithName:@"Arial-BoldMT" size:16]];

It may also be worth checking if the font you're trying to use is available on device

Monger answered 5/1, 2011 at 9:43 Comment(1)
It would be nice to merge this answer and the one below: If you want to retain the system font and make it bold: [infoLabel setFont:[UIFont boldSystemFontOfSize:16]];Headmost
T
133

If you want to retain the system font and make it bold:

[infoLabel setFont:[UIFont boldSystemFontOfSize:16]];
Termite answered 5/1, 2011 at 9:57 Comment(1)
And if you want to retain the size: [infoLabel setFont:[UIFont boldSystemFontOfSize: infoLabel.font.pointSize]];Legwork
M
69

Try

[infoLabel setFont:[UIFont fontWithName:@"Arial-BoldMT" size:16]];

It may also be worth checking if the font you're trying to use is available on device

Monger answered 5/1, 2011 at 9:43 Comment(1)
It would be nice to merge this answer and the one below: If you want to retain the system font and make it bold: [infoLabel setFont:[UIFont boldSystemFontOfSize:16]];Headmost
C
45

Using the GUI in Xcode select the label then go to the Attributes Inspector. One of the options is Font. Click on the font icon (not the up-down arrows). In the popup that appears expand the Font ComboxBox. Under the Bold System section choose Regular.

Xcode screenshot

Coimbra answered 2/3, 2015 at 19:13 Comment(0)
T
17

For swift users this should work:

myLabel.font = UIFont.boldSystemFont(ofSize: 12.0)

or if you'd like to use a different font:

myLabel.font = UIFont(name:"HelveticaNeue-Bold", size: 12.0)
Transgression answered 25/10, 2016 at 11:11 Comment(0)
R
6

Where possible I would suggest using dynamic font sizes to provide the best possible accessibility to your users.

You can make a label use a system dynamic font and set it to have bold text by doing the following:

 exampleLabel.font = UIFont.preferredFont(forTextStyle: .body, compatibleWith: UITraitCollection(legibilityWeight: .bold))
Reconstitute answered 1/12, 2019 at 20:23 Comment(3)
I tried this just for fun ... didn't work.Suppositive
Worked for me. That having been said, when I want to use custom fonts/styles in my app, but want it to size dynamically, I often use scaledFont. E.g., UIFontMetrics.default.scaledFont(for: customFont).Tisatisane
But, fundamentally, I think this answer is correct, that one should almost never use fixed font sizes within an app. Dynamic type is the way to go!Tisatisane
L
0

You can set the stroke with a negative value to make a bold effect if you don't have the bold variation of your custom font. See here:

How can I both stroke and fill with NSAttributedString w/ UILabel

Leong answered 11/2, 2015 at 18:8 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.