iOS Crea una UILabel


Ejemplo

Con un marco

Cuando conoce las dimensiones exactas que desea establecer para su etiqueta, puede inicializar un UILabel con un marco CGRect .

Rápido

let frame = CGRect(x: 0, y: 0, width: 200, height: 21)
let label = UILabel(frame: frame)
view.addSubview(label)

C objetivo

CGRect frame = CGRectMake(0, 0, 200, 21);
UILabel *label = [[UILabel alloc] initWithFrame:frame];
[view addSubview:label];

Con diseño automático

Puede agregar restricciones en una UILabel cuando desee que iOS calcule dinámicamente su marco en tiempo de ejecución.

Rápido

let label = UILabel()
label.backgroundColor = .red
label.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(label)

NSLayoutConstraint.activate([
    //stick the top of the label to the top of its superview:
    label.topAnchor.constraint(equalTo: view.topAnchor)

    //stick the left of the label to the left of its superview
    //if the alphabet is left-to-right, or to the right of its 
    //superview if the alphabet is right-to-left:
    label.leadingAnchor.constraint(equalTo: view.leadingAnchor)

    //stick the label's bottom to the bottom of its superview:
    label.bottomAnchor.constraint(equalTo: view.bottomAnchor)

    //the label's width should be equal to 100 points:
    label.widthAnchor.constraint(equalToConstant: 100)
])

C objetivo

UILabel *label = [[UILabel alloc] init];

Con Objective-c + Visual Format Language (VFL)

  UILabel *label = [UILabel new];
  label.translatesAutoresizingMaskIntoConstraints = NO;
  [self.view addSubview label];
  // add horizontal constraints with 5 left and right padding from the leading and trailing

  [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-5-[labelName]-5-|"
                                                                    options:0
                                                                    metrics:nil
                                                                      views:@{@"labelName":label}]];
  // vertical constraints that will use the height of the superView with no padding on top and bottom
  [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[labelName]|"
                                                                    options:0
                                                                    metrics:nil
                                                                      views:@{@"labelName":label}]]

La documentación de VFL se puede encontrar aquí

Una vez creada la etiqueta, asegúrese de establecer las dimensiones a través del diseño automático. Xcode mostrará errores si se hace incorrectamente.

Con Interface Builder

También utiliza Interface Builder para agregar una UILabel a su archivo Storyboard o .xib arrastrando una Label desde el panel Biblioteca de objetos y soltándola en una vista en el lienzo:

Captura de pantalla de Interface Builder

En lugar de especificar un marco (posición y tamaño) para un UILabel programación, un Storyboard o un .xib permite usar Diseño automático para agregar restricciones al control.

Para acceder a esta etiqueta creada desde el storyboard o xib cree un IBOutlet de esta etiqueta.

Enlace entre Interface Builder y View Controller

Una vez que haya agregado una UILabel a su Storyboard o .xib el archivo, puede vincularlo a su código presionando Control ⌃ y luego arrastrando el mouse entre la UILabel a su ViewController , o puede arrastrar el código mientras hace clic derecho para tienen el mismo efecto

introduzca la descripción de la imagen aquí

En el cuadro de diálogo de propiedades, puede establecer el nombre de UILabel y establecerlo como strong o weak . Para más información sobre strong y weak , vea esto ,

La otra forma es hacer la salida programáticamente de la siguiente manera:

Rápido

@IBOutlet weak var nameLabel : UILabel!

C objetivo

@property (nonatomic, weak) IBOutlet UILabel *nameLabel;