2015-03-25 4 views
7

Ich versuche, Text auf die Größe eines UILabel einzustellen und auch zentriert werden. Ich mache das programmatisch. Dies ist, was es sieht aus wie zur Zeit:Einstellung Text auf die Größe eines UILabel und der Mitte in SWIFT

enter image description here

Wie Sie sehen können, wird der Text auf den Bildschirm geht aus und wird auch nicht zentriert.

Dies ist mein Code:

let questions = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac faucibus tellus." 

questionsLabel = UILabel(frame: CGRectMake(10, 10, questionsView.frame.size.width - 20, 80)) 
questionsLabel.text = questions 
questionsLabel.font = UIFont(name: Font.FuturaMedium, size: 25) 
questionsLabel.sizeToFit() 
questionsLabel.numberOfLines = 0 
questionsLabel.textAlignment = NSTextAlignment.Center 
questionsView.addSubview(questionsLabel) 

Was mache ich falsch?

Antwort

25
questionsLabel.sizeToFit() 

Passt den Rahmen an die Größe des Textes an. Was Sie suchen, ist:

questionsLabel.adjustsFontSizeToFitWidth = true 

Dies ändert die Schriftgröße, um die Breite des Etiketts anzupassen. (Beachten Sie jedoch, dass die Schriftart nur verkleinert wird.)

questionsLabel.textAlignment = NSTextAlignment.Center 

Zentriert den Text innerhalb des label.frame. Also, wenn Sie das oben tun. Stellen Sie sicher, dass das Etikett zentriert ist und die Breite korrekt ist. Sie sollten nichts anderes tun müssen, um den Text zu zentrieren.

Swift 3:

questionsLabel.textAlignment = .center 
Verwandte Themen