2013-07-10 2 views
68

Я пытаюсь установить размер шрифта UILabel. Независимо от того, какое значение я ставлю, хотя размер текста, похоже, не меняется. Вот код, который я использую.iOS: задает размер шрифта UILabel Programmatically

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

ответ

149

Попробуйте [UIFont systemFontOfSize:36] или [UIFont fontWithName:@"HelveticaNeue" size:36] т.е. [[self titleLabel] setFont:[UIFont systemFontOfSize:36]];

+4

arrrg, всего за несколько секунд слишком поздно, но это правильно. System is no fontname ... –

+1

setFont устарел в iOS 10.2 – TheJeff

6

Этот код прекрасно работает для меня.

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

Я тоже [[self titleLabel] setFont: [UIFont systemFontOfSize: 36]]; не так, и я не знаю почему – Leon

3

Его, потому что нет нет семейства шрифтов с именем @"System" поэтому size:36 также не будет работать ...

Проверьте шрифты, доступные в Xcode в атрибуте инспектора и попытаться

13

Если вы ищете скор код:

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) 

только изменения размера шрифта UILabel.

+1

Очевидно, setFont устарел, поэтому 'label.font = // Какой бы шрифт ни был. –

+0

@FabricioPH, как если бы я хотел установить' label.font = // шрифт текущего шрифта системы? ? –

+1

@ChenLiYong Я больше не занимаюсь разработкой iOS. Возможно, Googling покажет некоторые релевантные результаты относительно установки шрифта текущей системы или получения его. https://www.google.com/?#q=ios%20system%20font –

1

Для прошивкой 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

Может быть также проблема вашего членства в шрифте. –

0

В Swift 3.0, вы можете использовать этот код ниже:

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 
Смежные вопросы