How do I align text in UILabel
?
10 Answers
From iOS 6 and later UITextAlignment
is deprecated. use NSTextAlignment
myLabel.textAlignment = NSTextAlignmentCenter;
Swift Version from iOS 6 and later
myLabel.textAlignment = .center

- 23,234
- 15
- 74
- 89

- 15,608
- 10
- 56
- 71
-
8swift version could be simplified :) myLabel.textAlignment = .Center – aryaxt Jun 02 '15 at 22:34
-
1.center ← lowercase – Lucas Apr 28 '17 at 16:55
Here is a sample code showing how to align text using UILabel:
label = [[UILabel alloc] initWithFrame:CGRectMake(60, 30, 200, 12)];
label.textAlignment = NSTextAlignmentCenter;
You can read more about it here UILabel

- 10,977
- 3
- 38
- 55

- 1,042
- 8
- 11
-
27`UITextAlignment` is deprecated since iOS 5. Use `NSTextAlignment` instead. – Philip007 Nov 07 '12 at 15:43
-
False, UITextAligment is deprecated. In UIStringDrawing.h (UIKit) you can find this 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 Jun 10 '15 at 11:36
To center text in a UILabel in Swift (which is targeted for iOS 7+) you can do:
myUILabel.textAlignment = .Center
Or
myUILabel.textAlignment = NSTextAlignment.Center

- 6,405
- 10
- 49
- 75
N.B.: As per the UILabel class reference, as of iOS 6 this approach is now deprecated.
Simply use the textAlignment
property to see the required alignment using one of the UITextAlignment
values. (UITextAlignmentLeft
, UITextAlignmentCenter
or UITextAlignmentRight
.)
e.g.: [myUILabel setTextAlignment:UITextAlignmentCenter];
See the UILabel Class Reference for more information.

- 54,048
- 11
- 129
- 129
Use yourLabel.textAlignment = NSTextAlignmentCenter;
for iOS >= 6.0 and yourLabel.textAlignment = UITextAlignmentCenter;
for iOS < 6.0.

- 16,782
- 9
- 50
- 50

- 35,723
- 18
- 170
- 177
In xamarin ios suppose your label name is title then do the following
title.TextAlignment = UITextAlignment.Center;

- 6,052
- 10
- 43
- 117

- 754
- 1
- 10
- 20
-
2The question is not about Xamarin. And `UITextAlignment` is [deprecated in iOS 6](https://developer.apple.com/reference/uikit/uitextalignment?language=objc)! – FelixSFD Dec 16 '16 at 07:12
In Swift 4.2 and 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)

- 16,698
- 6
- 112
- 113