2013-07-10 14 views
68

Ich versuche, die Schriftgröße eines UILabel zu setzen. Egal welchen Wert ich einstelle, obwohl sich die Textgröße nicht zu ändern scheint. Hier ist der Code, den ich verwende.iOS: Setze Schriftgröße von UILabel programmatisch

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

Antwort

149

Versuchen [UIFont systemFontOfSize:36] oder [UIFont fontWithName:@"HelveticaNeue" size:36] heißt [[self titleLabel] setFont:[UIFont systemFontOfSize:36]];

+4

Arrrg, nur ein paar Sekunden zu spät, aber Dies ist richtig. System ist kein fontname ... –

+1

setFont ist in iOS 10.2 veraltet – TheJeff

6

Dieser Code perfekt für mich arbeitet.

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

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

3

sein, weil es keine Schriftfamilie mit dem Namen ist @"System" daher wird size:36 auch nicht ...

Überprüfen Sie die verfügbaren Schriftarten in Xcode in Attribut-Inspektor und versuchen

13

Wenn Sie suchen SWIFT-Code:

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

Objective-C:

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

Swift:

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

ändert nur Schriftgröße eines UILabel.

+1

Anscheinend setFont ist veraltet, so 'label.font = // Was auch immer font.' –

+0

@ FabricioPH wie, wenn ich' label.font = // was auch immer System 'font' font ? –

+1

@ChenLiYong Ich bin nicht mehr in iOS-Entwicklung. Vielleicht zeigt Googling einige relevante Ergebnisse zum Setzen der aktuellen Systemschrift oder zum Abrufen. https://www.google.com/?#q=ios%20system%20font –

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; 

} 
+0

Könnte auch ein Problem mit Ihrer Schriftart-Zielmitgliedschaft sein. –

0

In Swift 3.0, können Sie diesen Code unten 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 
1

Swift 3,0

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