UILabel Wyrównaj tekst do środka

Odpowiedzi:

568

Z iOS 6 i nowszych UITextAlignmentjest przestarzały. posługiwać sięNSTextAlignment

myLabel.textAlignment = NSTextAlignmentCenter;

Szybka wersja z iOS 6 i nowszych

myLabel.textAlignment = .center
Aravindhan
źródło
8
szybką wersję można uprościć :) myLabel.textAlignment = .Center
aryaxt
1
.center ← małe litery
Lucas
83

Oto przykładowy kod pokazujący, jak wyrównać tekst za pomocą UILabel:

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

Możesz przeczytać więcej na ten temat tutaj UILabel

Vishal Shah
źródło
27
UITextAlignmentjest przestarzałe od iOS 5. Użyj NSTextAlignmentzamiast tego.
Philip007,
Fałsz, UITextAligment jest przestarzałe. W UIStringDrawing.h (UIKit) możesz znaleźć ten kod:// 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

Aby wyśrodkować tekst na UILabel w Swift (który jest przeznaczony dla iOS 7+), możesz:

myUILabel.textAlignment = .Center

Lub

myUILabel.textAlignment = NSTextAlignment.Center
AdamT
źródło
8

Uwaga: Zgodnie z odniesieniem do klasy UILabel , w iOS 6 to podejście jest obecnie przestarzałe.

Wystarczy użyć textAlignmentwłaściwości, aby zobaczyć wymagane wyrównanie przy użyciu jednej z UITextAlignmentwartości. ( UITextAlignmentLeft, UITextAlignmentCenterI UITextAlignmentRight).

na przykład: [myUILabel setTextAlignment:UITextAlignmentCenter];

Aby uzyskać więcej informacji, zobacz Odwołanie do klasy UILabel .

John Parker
źródło
6

Użyj yourLabel.textAlignment = NSTextAlignmentCenter;dla iOS> = 6.0 i yourLabel.textAlignment = UITextAlignmentCenter;dla iOS <6.0.

Jayprakash Dubey
źródło
5

W przypadku Swift 3 jest to:

label.textAlignment = .center
Michał Kwiecień
źródło
4

IO6.1 [lblTitle setTextAlignment:NSTextAlignmentCenter];

Rinju Jain
źródło
3
Label.textAlignment = NSTextAlignmentCenter;
Mubin Shaikh
źródło
3

W Xamarin ios załóżmy, że nazwa twojej etykiety to tytuł, a następnie wykonaj następujące czynności

title.TextAlignment = UITextAlignment.Center;
Dilip Jangid
źródło
2
Pytanie nie dotyczy Xamarina. I UITextAlignmentjest przestarzałe w iOS 6 !
FelixSFD
0

W Swift 4.2 i 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
źródło