iOS: встановити розмір шрифту UILabel програмно


83

Я намагаюся встановити розмір шрифту UILabel. Незалежно від того, яке значення я ставлю, хоча розмір тексту, здається, не змінюється. Ось код, який я використовую.

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

Відповіді:


161

Спробуйте [UIFont systemFontOfSize:36]або [UIFont fontWithName:@"HelveticaNeue" size:36] тобто[[self titleLabel] setFont:[UIFont systemFontOfSize:36]];


2
setFont застарілий в iOS 10.2
TheJeff,

76

Завдання-C:

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

Стрімкий:

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

просто змінює розмір шрифту UILabel.


1
Мабуть, setFont застарілий, тожlabel.font = // Whatever font.
Рудольф Реал

@FabricioPH як, якщо я хочу встановити label.font = // whatever currently system's fontшрифт?
Chen Li Yong

1
@ChenLiYong Я більше не займаюся розробкою iOS. Можливо, Googling покаже деякі відповідні результати щодо встановлення шрифту поточної системи або отримання його. google.com/?#q=ios%20system%20font
Рудольф Реал


16

Якщо ви шукаєте швидкий код:

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

6

Цей код чудово працює для мене.

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

Я теж, [[self titleLabel] setFont: [UIFont systemFontOfSize: 36]]; не зробив і не знаю чому
Леон

4

У 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

3

ЇЇ ТОМУ що немає сімейства шрифтів з назвою, @"System"отже size:36, також не буде працювати ...

Перевірте шрифти, доступні в xcode в інспекторі атрибутів, і спробуйте


1

Для 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;

 }

Можливо, це також проблема вашого членства у шрифті.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.