iOS: lettergrootte van UILabel programmatisch instellen

Ik probeer de lettergrootte van een UILabel in te stellen. Het maakt niet uit welke waarde ik invul, hoewel de tekstgrootte niet lijkt te veranderen. Dit is de code die ik gebruik.

[self setTitleLabel:[[UILabel alloc] initWithFrame:CGRectMake(320.0,0.0,428.0,50.0)]];
[[self contentView] addSubview:[self titleLabel]];
UIColor *titlebg = [UIColor clearColor];
[[self titleLabel] setBackgroundColor:titlebg];
[[self titleLabel] setTextColor:[UIColor blackColor]];
[[self titleLabel] setFont:[UIFont fontWithName:@"System" size:36]];

Antwoord 1, autoriteit 100%

Probeer [UIFont systemFontOfSize:36]of [UIFont fontWithName:@"HelveticaNeue" size:36]
d.w.z. [[self titleLabel] setFont:[UIFont systemFontOfSize:36]];


Antwoord 2, autoriteit 47%

Doelstelling-C:

[label setFont: [label.font fontWithSize: sizeYouWant]];

Snel:

label.font = label.font.fontWithSize(sizeYouWant)

verandert alleen de lettergrootte van een UILabel.


Antwoord 3, autoriteit 15%

Swift 3.0 / Swift 4.2 / Swift 5.0

labelName.font = labelName.font.withSize(15)

Antwoord 4, autoriteit 11%

Als u op zoek bent naar snelle code:

var titleLabel = UILabel()
titleLabel.font = UIFont(name: "HelveticaNeue-UltraLight",
                         size: 20.0)

Antwoord 5, autoriteit 4%

Deze code werkt perfect voor mij.

 UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(15,23, 350,22)];
  [label setFont:[UIFont systemFontOfSize:11]];

Antwoord 6, autoriteit 3%

In Swift 3.0 kunt u de onderstaande code gebruiken:

let textLabel = UILabel(frame: CGRect(x:containerView.frame.width/2 - 35, y: 
    containerView.frame.height/2 + 10, width: 70, height: 20))
    textLabel.text = "Add Text"
    textLabel.font = UIFont(name: "Helvetica", size: 15.0) // set fontName and Size
    textLabel.textAlignment = .center
    containerView.addSubview(textLabel) // containerView is a UIView

Antwoord 7, autoriteit 2%

Het is OMDAT er geen lettertypefamilie is met de naam @"System"vandaar dat size:36ook niet zal werken …

Controleer de lettertypen die beschikbaar zijn in xcode in attributeninspecteur en probeer


Antwoord 8

Voor iOS 8

 static NSString *_myCustomFontName;
 + (NSString *)myCustomFontName:(NSString*)fontName
  {
 if ( !_myCustomFontName )
  {
   NSArray *arr = [UIFont fontNamesForFamilyName:fontName];
    // I know I only have one font in this family
    if ( [arr count] > 0 )
       _myCustomFontName = arr[0];
  }
 return _myCustomFontName;
 }

Other episodes