UILabel Aligner le texte au centre

Réponses:

568

À partir d' iOS 6 et UITextAlignmentversions ultérieures est obsolète. utilisationNSTextAlignment

myLabel.textAlignment = NSTextAlignmentCenter;

Version Swift d'iOS 6 et versions ultérieures

myLabel.textAlignment = .center
Aravindhan
la source
8
la version rapide pourrait être simplifiée :) myLabel.textAlignment = .Center
aryaxt
1
.center ← minuscule
Lucas
83

Voici un exemple de code montrant comment aligner du texte à l'aide d'UILabel:

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

Vous pouvez en savoir plus ici UILabel

Vishal Shah
la source
27
UITextAlignmentest obsolète depuis iOS 5. Utilisez NSTextAlignmentplutôt.
Philip007
Faux, UITextAligment est obsolète. Dans UIStringDrawing.h (UIKit), vous pouvez trouver ce code:// 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

Pour centrer du texte dans un UILabel dans Swift (qui est destiné à iOS 7+), vous pouvez faire:

myUILabel.textAlignment = .Center

Ou

myUILabel.textAlignment = NSTextAlignment.Center
AdamT
la source
8

NB: Selon la référence de la classe UILabel , depuis iOS 6, cette approche est désormais obsolète.

Utilisez simplement la textAlignmentpropriété pour voir l'alignement requis en utilisant l'une des UITextAlignmentvaleurs. ( UITextAlignmentLeft, UITextAlignmentCenterou UITextAlignmentRight.)

par exemple: [myUILabel setTextAlignment:UITextAlignmentCenter];

Voir la référence de classe UILabel pour plus d'informations.

John Parker
la source
6

Utiliser yourLabel.textAlignment = NSTextAlignmentCenter;pour iOS> = 6.0 et yourLabel.textAlignment = UITextAlignmentCenter;pour iOS <6.0.

Jayprakash Dubey
la source
5

Pour Swift 3, c'est:

label.textAlignment = .center
Michał Kwiecień
la source
4

IO6.1 [lblTitle setTextAlignment:NSTextAlignmentCenter];

Rinju Jain
la source
3
Label.textAlignment = NSTextAlignmentCenter;
Mubin Shaikh
la source
3

Dans xamarin ios, supposez que le nom de votre étiquette est le titre, puis procédez comme suit

title.TextAlignment = UITextAlignment.Center;
Dilip Jangid
la source
2
La question ne concerne pas Xamarin. Et UITextAlignmentest déconseillé dans iOS 6 !
FelixSFD
0

Dans Swift 4.2 et 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
la source