Làm cách nào để căn giữa văn bản bên trong UILabel?
Câu trả lời:
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 NSTextAlignmentCenter
thay vì UITextAlignmentCenter
:
yourLabel.textAlignment = NSTextAlignmentCenter;
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
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.
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
Hãy thử mã này:
labelName.textAlignment = UITextAlignmentCenter
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];
Hãy thử mã sau:
lblObject.textAlignment=UITextAlignmentCenter;
Hy vọng điều này sẽ giúp bạn.