Căn giữa văn bản trong một UILabel


Câu trả lời:


198

Mã là

[yourLabel setTextAlignment:UITextAlignmentCenter];

hoặc (tất nhiên) Cú pháp dấu chấm obj-C 2.0

yourLabel.textAlignment = UITextAlignmentCenter;

Đối với iOS 6 (và cao hơn), bạn nên sử dụng NSTextAlignmentCenterthay vì UITextAlignmentCenter:

yourLabel.textAlignment = NSTextAlignmentCenter;

Nguồn

Và nếu bạn muốn tương thích ngược với iOS 5, bạn có thể làm điều này,

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

Swift 3

yourLabel.textAlignment = .center

2
Hoặc với canh ngoặc nhỏ hơn một chút: yourLabel.textAlignment = UITextAlignmentCenter;
Peter DeWeese

11
UITextAlignmentCenter không được dùng nữa sau iOS 6.0. Bây giờ hãy sử dụng NSTextAlignmentCenter.
Dev2rights

3
Cũng lưu ý rằng nếu bạn gọi [yourLabel sizeToFit] sau khi đặt textAlignment, nó sẽ được căn trái và bỏ qua thuộc tính textAlignment.
DiscDev

26

Điều này hiện đã bị giảm trong iOS6.

Bạn nên sử dụng:

yourLabel.textAlignment = NSTextAlignmentCenter;

6

Bên cạnh việc sử dụng mã, như Henrik đã đề xuất, bạn cũng có thể đặt thuộc tính thích hợp trong Trình tạo giao diện.


1

Nếu bạn có UILabel nhiều dòng, bạn nên sử dụng NSMutableParagraphStyle

   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

Hãy thử mã này:

labelName.textAlignment = UITextAlignmentCenter

0

UITextAlignmentCenter không được dùng nữa kể từ NSTextAlignmentCenter kể từ iOS 6.0. Bạn nên sử dụng NSTextAlignmentCenter để thay thế:

[label setTextAlignment:NSTextAlignmentCenter];

0

Hãy thử mã sau:

lblObject.textAlignment=UITextAlignmentCenter;

Hy vọng điều này sẽ giúp bạn.


0

Kể từ khi sử dụng Xcode 10.2.1:

UIlabel.textAlignment = NSTextAlignment.center
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.