Text in einem UILabel zentrieren

81

Wie zentriert man den Text in einem UILabel?

Chris
quelle

Antworten:

198

Der Code ist

[yourLabel setTextAlignment:UITextAlignmentCenter];

oder (natürlich) die Obj-C 2.0 Dot-Syntax

yourLabel.textAlignment = UITextAlignmentCenter;

Für iOS 6 (und höher) sollten Sie NSTextAlignmentCenteranstelle von UITextAlignmentCenter:

yourLabel.textAlignment = NSTextAlignmentCenter;

Quelle

Und wenn Sie Abwärtskompatibilität mit iOS 5 wünschen, können Sie dies auch tun,

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

Swift 3

yourLabel.textAlignment = .center
Henrik P. Hessel
quelle
2
Oder mit etwas weniger Bracket-Suppe: yourLabel.textAlignment = UITextAlignmentCenter;
Peter DeWeese
11
UITextAlignmentCenter ist nach iOS 6.0 veraltet. Verwenden Sie jetzt NSTextAlignmentCenter.
Dev2rights
3
Beachten Sie außerdem, dass, wenn Sie [yourLabel sizeToFit] nach dem Festlegen der textAlignment aufrufen, diese linksbündig angezeigt wird und die Eigenschaft textAlignment ignoriert wird.
DiscDev
26

Dies wird jetzt in iOS6 abgeschrieben.

Du solltest benutzen:

yourLabel.textAlignment = NSTextAlignmentCenter;
Richard
quelle
6

Neben der Verwendung von Code können Sie, wie von Henrik vorgeschlagen, auch die entsprechende Eigenschaft in Interface Builder festlegen.

Pablo Santa Cruz
quelle
1

Wenn Sie ein mehrzeiliges UILabel haben, sollten Sie einen NSMutableParagraphStyle verwenden

   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
quelle
0

Versuchen Sie diesen Code:

labelName.textAlignment = UITextAlignmentCenter
Ayush Goel
quelle
0

UITextAlignmentCenter ist seit NSTextAlignmentCenter seit iOS 6.0 veraltet. Sie sollten stattdessen NSTextAlignmentCenter verwenden:

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

Probieren Sie den folgenden Code aus:

lblObject.textAlignment=UITextAlignmentCenter;

Hoffe das hilft dir.

Ankit Gupta
quelle
0

Ab Xcode 10.2.1 verwenden Sie:

UIlabel.textAlignment = NSTextAlignment.center
M Waz
quelle