iOS: establezca el tamaño de fuente de UILabel mediante programación


83

Estoy intentando establecer el tamaño de fuente de un UILabel. No importa el valor que ponga, aunque el tamaño del texto no parece cambiar. Aquí está el código que estoy usando.

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

Respuestas:


161

Prueba [UIFont systemFontOfSize:36]o [UIFont fontWithName:@"HelveticaNeue" size:36] ie[[self titleLabel] setFont:[UIFont systemFontOfSize:36]];


2
setFont está obsoleto en iOS 10.2
TheJeff

76

C objetivo:

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

Rápido:

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

simplemente cambia el tamaño de fuente de un UILabel.


1
Aparentemente, setFont está obsoleto, así quelabel.font = // Whatever font.
Rudolf Real

@FabricioPH ¿cómo si quiero configurar la label.font = // whatever currently system's fontfuente?
Chen Li Yong

1
@ChenLiYong Ya no estoy interesado en el desarrollo de iOS. Quizás buscar en Google muestre algunos resultados relevantes sobre cómo configurar la fuente del sistema actual o cómo obtenerla. google.com/?#q=ios%20system%20font
Rudolf Real

22

Swift 3.0 / Swift 4.2 / Swift 5.0

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

16

Si está buscando un código swift:

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

6

Este código me funciona perfectamente.

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

Yo también, [[self titleLabel] setFont: [UIFont systemFontOfSize: 36]]; no lo hice y no sé por qué
Leon

4

En Swift 3.0, puede usar este código a continuación:

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

Es PORQUE no hay una familia de fuentes con nombre, @"System"por size:36lo tanto , tampoco funcionará ...

Verifique las fuentes disponibles en xcode en el inspector de atributos e intente


1

Para 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;

 }

También podría ser un problema de la membresía de destino de la fuente.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.