Text in einem UILabel zentrieren


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

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;

6

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


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

0

Versuchen Sie diesen Code:

labelName.textAlignment = UITextAlignmentCenter

0

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

[label setTextAlignment:NSTextAlignmentCenter];

0

Probieren Sie den folgenden Code aus:

lblObject.textAlignment=UITextAlignmentCenter;

Hoffe das hilft dir.


0

Ab Xcode 10.2.1 verwenden Sie:

UIlabel.textAlignment = NSTextAlignment.center
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.