iOS: ustaw rozmiar czcionki UILabel programowo

83

Próbuję ustawić rozmiar czcionki UILabel. Bez względu na to, jaką wartość podałem, chociaż rozmiar tekstu nie wydaje się zmieniać. Oto kod, którego używam.

[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]];
LoneWolfPR
źródło

Odpowiedzi:

161

Spróbuj [UIFont systemFontOfSize:36]lub [UIFont fontWithName:@"HelveticaNeue" size:36] np[[self titleLabel] setFont:[UIFont systemFontOfSize:36]];

JohnVanDijk
źródło
2
setFont jest przestarzały w iOS 10.2
TheJeff
76

Cel C:

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

Szybki:

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

po prostu zmienia rozmiar czcionki UILabel.

fujianjin6471
źródło
2
Najwyraźniej setFont jest przestarzały, więclabel.font = // Whatever font.
Rudolf Real
@FabricioPH jak, jeśli chcę ustawić label.font = // whatever currently system's fontczcionkę?
Chen Li Yong
1
@ChenLiYong Nie zajmuję się już programowaniem iOS. Być może Google wyświetli odpowiednie wyniki dotyczące ustawiania czcionki bieżącego systemu lub jej pobierania. google.com/?#q=ios%20system%20font
Rudolf Real
22

Swift 3.0 / Swift 4.2 / Swift 5.0

labelName.font = labelName.font.withSize(15)
Pranit
źródło
16

Jeśli szukasz szybkiego kodu:

var titleLabel = UILabel()
titleLabel.font = UIFont(name: "HelveticaNeue-UltraLight",
                         size: 20.0)
ytbryan
źródło
6

Ten kod działa dla mnie doskonale.

  UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(15,23, 350,22)];
  [label setFont:[UIFont systemFontOfSize:11]];
Gaurav
źródło
Ja też, [[self titleLabel] setFont: [UIFont systemFontOfSize: 36]]; nie i nie wiem dlaczego
Leon
5

W Swift 3.0 możesz użyć tego kodu poniżej:

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
Imrul Kayes
źródło
3

PONIEWAŻ nie ma rodziny czcionek z nazwą, @"System"więc size:36też nie będzie działać ...

Sprawdź czcionki dostępne w xcode w Inspektorze atrybutów i spróbuj

Chetan Kumar
źródło
1

W przypadku 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;

 }
Ram Vinay Yadav
źródło
Może być również problem z członkostwem docelowym czcionek.