UILabel выровнять текст по центру

Ответы:

568

С iOS 6 и более поздних UITextAlignmentверсий устарела. использованиеNSTextAlignment

myLabel.textAlignment = NSTextAlignmentCenter;

Версия Swift от iOS 6 и позже

myLabel.textAlignment = .center
Aravindhan
источник
8
Быстрая версия может быть упрощена :) myLabel.textAlignment = .Center
aryaxt
1
.center ← строчные
Лукас
83

Вот пример кода, показывающий, как выровнять текст с помощью UILabel:

label = [[UILabel alloc] initWithFrame:CGRectMake(60, 30, 200, 12)];
label.textAlignment = NSTextAlignmentCenter;

Вы можете прочитать больше об этом здесь UILabel

Вишал Шах
источник
27
UITextAlignmentустарела с iOS 5. Используйте NSTextAlignmentвместо.
Philip007
False, UITextAligment устарела. В UIStringDrawing.h (UIKit) вы можете найти этот код:// 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
12

Чтобы центрировать текст в UILabel в Swift (который предназначен для iOS 7+), вы можете сделать:

myUILabel.textAlignment = .Center

Или

myUILabel.textAlignment = NSTextAlignment.Center
AdamT
источник
8

NB: Согласно справочному классу UILabel, начиная с iOS 6, этот подход сейчас не рекомендуется.

Просто используйте textAlignmentсвойство, чтобы увидеть требуемое выравнивание, используя одно из UITextAlignmentзначений. ( UITextAlignmentLeft, UITextAlignmentCenterИли UITextAlignmentRight) .

например: [myUILabel setTextAlignment:UITextAlignmentCenter];

См. Ссылку класса UILabel для получения дополнительной информации.

Джон Паркер
источник
6

Используйте yourLabel.textAlignment = NSTextAlignmentCenter;для iOS> = 6.0 и yourLabel.textAlignment = UITextAlignmentCenter;для iOS <6.0.

Джайпракаш Дубей
источник
5

Для Swift 3 это:

label.textAlignment = .center
Михал Квецень
источник
4

IO6.1 [lblTitle setTextAlignment:NSTextAlignmentCenter];

Риндзю Джайн
источник
3
Label.textAlignment = NSTextAlignmentCenter;
Мубин Шейх
источник
3

В xamarin ios предположим, что ваше имя ярлыка - title, тогда сделайте следующее

title.TextAlignment = UITextAlignment.Center;
Дилип Джангид
источник
2
Вопрос не о Xamarin. И UITextAlignmentне рекомендуется в iOS 6 !
FelixSFD
0

В Swift 4.2 и 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)
IOS
источник