Centrar texto en un UILabel

Respuestas:

198

El Código es

[yourLabel setTextAlignment:UITextAlignmentCenter];

o (por supuesto) el Obj-C 2.0 Dot-Syntax

yourLabel.textAlignment = UITextAlignmentCenter;

Para iOS 6 (y superior) debe usar en NSTextAlignmentCenterlugar de UITextAlignmentCenter:

yourLabel.textAlignment = NSTextAlignmentCenter;

Fuente

Y si desea compatibilidad con versiones anteriores de iOS 5, también puede hacerlo,

#ifdef __IPHONE_6_0
# define ALIGN_CENTER NSTextAlignmentCenter
#else
# define ALIGN_CENTER UITextAlignmentCenter
#endif

Swift 3

yourLabel.textAlignment = .center
Henrik P. Hessel
fuente
2
O con un poco menos de sopa de corchetes: yourLabel.textAlignment = UITextAlignmentCenter;
Peter DeWeese
11
UITextAlignmentCenter está obsoleto después de iOS 6.0. Ahora use NSTextAlignmentCenter.
Dev2rights
3
También tenga en cuenta que si llama a [yourLabel sizeToFit] después de configurar el textAlignment, terminará justificado a la izquierda e ignorará la propiedad textAlignment.
DiscDev
26

Esto está depreciado ahora en iOS6.

Deberías usar:

yourLabel.textAlignment = NSTextAlignmentCenter;
Ricardo
fuente
6

Además de usar código, como sugirió Henrik, también puede establecer la propiedad apropiada en Interface Builder.

Pablo Santa Cruz
fuente
1

Si tiene un UILabel de varias líneas, debe usar un NSMutableParagraphStyle

   label.numberOfLines = 0
   let paragraphStyle = NSMutableParagraphStyle()
   paragraphStyle.alignment = .Center

   let attributes : [String : AnyObject] = [NSFontAttributeName : UIFont(name: "HelveticaNeue", size: 15)!, NSParagraphStyleAttributeName: paragraphStyle]

   let attributedText = NSAttributedString.init(string: subTitleText, attributes: attributes)
   label.attributedText = attributedText
apinho
fuente
0

Prueba este código:

labelName.textAlignment = UITextAlignmentCenter
Ayush Goel
fuente
0

UITextAlignmentCenter está en desuso desde NSTextAlignmentCenter desde iOS 6.0. En su lugar, debería utilizar NSTextAlignmentCenter:

[label setTextAlignment:NSTextAlignmentCenter];
Luciano Rodríguez
fuente
0

Pruebe el siguiente código:

lblObject.textAlignment=UITextAlignmentCenter;

Espero que esto te ayude.

Ankit Gupta
fuente
0

A partir de Xcode 10.2.1 use:

UIlabel.textAlignment = NSTextAlignment.center
M Waz
fuente