UILabel Alinhar texto ao centro

Respostas:

568

A partir do iOS 6 e posterior, UITextAlignmentesta obsoleta. usarNSTextAlignment

myLabel.textAlignment = NSTextAlignmentCenter;

Versão Swift do iOS 6 e posterior

myLabel.textAlignment = .center
Aravindhan
fonte
8
Versão rápida poderia ser simplificado :) myLabel.textAlignment = .center
aryaxt
1
.center ← minúsculas
Lucas
83

Aqui está um código de exemplo mostrando como alinhar o texto usando o UILabel:

label = [[UILabel alloc] initWithFrame:CGRectMake(60, 30, 200, 12)];
label.textAlignment = NSTextAlignmentCenter;

Você pode ler mais sobre isso aqui UILabel

Vishal Shah
fonte
27
UITextAlignmentestá obsoleto desde o iOS 5. Use em NSTextAlignmentvez disso.
precisa saber é o seguinte
False, UITextAligment está obsoleto. No UIStringDrawing.h (UIKit) você pode encontrar este código:// Deprecated: use NSTextAlignment enum in UIKit/NSText.h typedef NS_ENUM(NSInteger, UITextAlignment) { UITextAlignmentLeft = 0, UITextAlignmentCenter, UITextAlignmentRight, // could add justified in future } NS_DEPRECATED_IOS(2_0,6_0);
aramusss
12

Para centralizar o texto em um UILabel no Swift (direcionado para iOS 7+), você pode:

myUILabel.textAlignment = .Center

Ou

myUILabel.textAlignment = NSTextAlignment.Center
AdamT
fonte
8

Nota: de acordo com a referência da classe UILabel , a partir do iOS 6, essa abordagem agora está obsoleta.

Simplesmente use a textAlignmentpropriedade para ver o alinhamento necessário usando um dos UITextAlignmentvalores. ( UITextAlignmentLeft, UITextAlignmentCenterou UITextAlignmentRight.)

por exemplo: [myUILabel setTextAlignment:UITextAlignmentCenter];

Consulte a referência de classe UILabel para obter mais informações.

John Parker
fonte
6

Use yourLabel.textAlignment = NSTextAlignmentCenter;para iOS> = 6.0 e yourLabel.textAlignment = UITextAlignmentCenter;para iOS <6.0.

Jayprakash Dubey
fonte
5

Para Swift 3 é:

label.textAlignment = .center
Michał Kwiecień
fonte
4

IO6.1 [lblTitle setTextAlignment:NSTextAlignmentCenter];

Rinju Jain
fonte
3
Label.textAlignment = NSTextAlignmentCenter;
Mubin Shaikh
fonte
3

No xamarin ios, suponha que o nome do seu rótulo seja título e faça o seguinte

title.TextAlignment = UITextAlignment.Center;
Dilip Jangid
fonte
2
A questão não é sobre o Xamarin. E UITextAlignmentestá obsoleto no iOS 6 !
FelixSFD
0

No Swift 4.2 e no Xcode 10

let lbl = UILabel(frame: CGRect(x: 10, y: 50, width: 230, height: 21))
lbl.textAlignment = .center //For center alignment
lbl.text = "This is my label fdsjhfg sjdg dfgdfgdfjgdjfhg jdfjgdfgdf end..."
lbl.textColor = .white
lbl.backgroundColor = .lightGray//If required
lbl.font = UIFont.systemFont(ofSize: 17)

 //To display multiple lines in label
lbl.numberOfLines = 0
lbl.lineBreakMode = .byWordWrapping

lbl.sizeToFit()//If required
yourView.addSubview(lbl)
iOS
fonte