Центрувати текст у UILabel


Відповіді:


197

Кодекс є

[yourLabel setTextAlignment:UITextAlignmentCenter];

або (звичайно) крапковий синтаксис Obj-C 2.0

yourLabel.textAlignment = UITextAlignmentCenter;

Для iOS 6 (і новіших версій) слід використовувати NSTextAlignmentCenterзамість UITextAlignmentCenter:

yourLabel.textAlignment = NSTextAlignmentCenter;

Джерело

І якщо ви хочете зворотну сумісність з iOS 5, ви також можете це зробити,

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

Стрімкий 3

yourLabel.textAlignment = .center

2
Або з трохи меншим супом для дужок: yourLabel.textAlignment = UITextAlignmentCenter;
Peter DeWeese

11
UITextAlignmentCenter застарілий після iOS 6.0. Тепер використовуйте NSTextAlignmentCenter.
Dev2rights 01.03.13

3
Також зверніть увагу, що якщо ви викликаєте [yourLabel sizeToFit] після встановлення textAlignment, він закінчується вирівнюванням за лівим краєм і ігнорує властивість textAlignment.
DiscDev

26

Зараз це знецінено в iOS6.

Ви повинні використовувати:

yourLabel.textAlignment = NSTextAlignmentCenter;

6

Окрім використання коду, як запропонував Хенрік, ви також можете встановити відповідне властивість у Interface Builder.


1

Якщо у вас є багаторядковий UILabel, вам слід використовувати 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

UITextAlignmentCenter застарілий із NSTextAlignmentCenter з iOS 6.0. Натомість слід використовувати NSTextAlignmentCenter:

[label setTextAlignment:NSTextAlignmentCenter];


0

Станом на Xcode 10.2.1 використовуйте:

UIlabel.textAlignment = NSTextAlignment.center
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.