iOS: Festlegen der Schriftgröße von UILabel Programmatisch


82

Ich versuche, die Schriftgröße eines UILabels festzulegen. Egal welchen Wert ich setze, die Textgröße scheint sich nicht zu ändern. Hier ist der Code, den ich verwende.

[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]];

Antworten:


160

Versuchen Sie [UIFont systemFontOfSize:36]oder [UIFont fontWithName:@"HelveticaNeue" size:36] dh[[self titleLabel] setFont:[UIFont systemFontOfSize:36]];


2
setFont ist in iOS 10.2
TheJeff

76

Ziel c:

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

Schnell:

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

ändert nur die Schriftgröße eines UILabels.


1
Anscheinend ist setFont veraltet, alsolabel.font = // Whatever font.
Rudolf Real

@FabricioPH wie, wenn ich label.font = // whatever currently system's fontSchriftart einstellen möchte ?
Chen Li Yong

1
@ChenLiYong Ich bin nicht mehr in der iOS-Entwicklung. Möglicherweise zeigt Googeln einige relevante Ergebnisse zum Festlegen oder Abrufen der Schriftart des aktuellen Systems an. google.com/?#q=ios%20system%20font
Rudolf Real

21

Swift 3.0 / Swift 4.2 / Swift 5.0

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

16

Wenn Sie nach schnellem Code suchen:

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

6

Dieser Code funktioniert perfekt für mich.

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

Ich auch, [[self titleLabel] setFont: [UIFont systemFontOfSize: 36]]; nicht und ich weiß nicht warum
Leon

4

In Swift 3.0 können Sie den folgenden Code verwenden:

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

3

WEIL es keine Schriftfamilie mit Namen gibt, wird @"System"daher size:36auch nicht funktionieren ...

Überprüfen Sie die in xcode verfügbaren Schriftarten im Attributinspektor und versuchen Sie es


1

Für 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;

 }

Könnte auch ein Problem Ihrer Mitgliedschaft im Schriftartenziel sein.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.