2013-07-10 18 views
68

Próbuję ustawić rozmiar czcionki dla UILabel. Bez względu na to, jaką wartość dodam, rozmiar tekstu nie wydaje się zmieniać. Oto kod, którego używam.iOS: ustaw rozmiar czcionki programu UILabel Programowalnie

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

Odpowiedz

149

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

+4

arrrg, zaledwie kilka sekund za późno, ale to prawda. System nie ma nazwy fontu ... –

+1

setFont jest przestarzałe w iOS 10.2 – TheJeff

6

Ten kod działa idealnie dla mnie.

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

Ja też, [[self titleLabel] setFont: [UIFont systemFontOfSize: 36]]; nie wiem i nie wiem dlaczego – Leon

3

Jego ponieważ nie ma rodziny czcionek z nazwą @"System" stąd size:36 również nie działa ...

Sprawdź czcionek dostępnych w Xcode w atrybucie inspektora i spróbuj

13

Jeśli szukasz SWIFT:

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

Cel C:

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

Swift:

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

tylko zmienia rozmiar czcionki w UILabel.

+1

Wygląda na to, że setFont jest przestarzały, więc 'label.font = // Niezależnie od font.' –

+0

@FabricioPH jak chcę ustawić 'label.font = // dowolną czcionkę aktualnie używanego systemu ' ? –

+1

@ChenLiYong Nie jestem już w rozwoju iOS. Może Googling wyświetli pewne trafne wyniki dotyczące ustawienia bieżącej czcionki systemu lub jej uzyskania. https://www.google.com/?#q=ios%20system%20font –

1

Dla 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

Może być również problem z przynależnością do miejsca docelowego czcionki. –

0

w Swift 3.0, można 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 
1

Swift 3,0

labelName.font = labelName.font.withSize(15) 
Powiązane problemy