Sie sollten wahrscheinlich auf autolayout etwas zu lesen tun und lernen, wie Sie Ihre Ansichten mit ihm zu strukturieren, aber von dem, was ich kann es sammeln sieht aus wie Sie das Etikett zu wollen:
- in der Mitte des Bildschirms
- haben eine feste Breite
- haben eine Hintergrundfarbe
- erweitern zu passen ihre Inhalt vertikal
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.backgroundColor = UIColor.greenColor()
label.numberOfLines = 0
label.textAlignment = .Center
label.text = "This is\nsome multiline\nlabel\nwith a background\n colour"
self.view.addSubview(label)
let width = NSLayoutConstraint(item: label, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 50)
let centerX = NSLayoutConstraint(item: label, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0)
let centerY = NSLayoutConstraint(item: label, attribute: .CenterY, relatedBy: .Equal, toItem: self.view, attribute: .CenterY, multiplier: 1, constant: 0)
self.view.addConstraints([width, centerX, centerY])
Der obige Code erzeugt, ein grünes Etikett mit Auto-Layout, gibt es eine screenshot here.
Die Verwendung von numberOfLines = 0
stellt sicher, dass die Ansicht weiß, dass das Etikett erweitert werden kann, um seinen Inhalt anzupassen.
Die Layoutbeschränkungen sollten selbst erklärend sein, wenn Sie sie lesen, legen wir die Breite des Labels auf 50
fest, dann setzen wir die X- und Y-Mittelwerte auf die Ansicht, der wir das Label hinzugefügt haben.
Sind Sie danach? - Wenn nicht, könnten Sie Ihre Frage aktualisieren, um ein Mock-up-Bild von dem, was Sie versuchen, aufzunehmen.
Haben Sie schon einen Code geschrieben? Es wäre hilfreich zu sehen, was Sie versucht haben. – Wez
Entschuldigung, hinzugefügt – MarksCode
Initialisieren Sie das Etikett mit einem Rahmen? – Wez