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


Ответы:


568

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

myLabel.textAlignment = NSTextAlignmentCenter;

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

myLabel.textAlignment = .center

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

8

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

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

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

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







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)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.