Wie wird die Ausrichtung von oben nach links für UILabel für iOS-Anwendungen festgelegt?
Ich habe ein Etikett in meine nib Datei, dann seine benötigt, um die top-Links-Ausrichtung für das lable. Wie vermittele ich den text zur Laufzeit ist also nicht sicher, wie viel Linien es gibt.
Also, wenn der text enthält nur eine einzige Zeile, dann erscheint es als vertikale-center ausgerichtet. Dass die Angleichung nicht zusammenbringen mit meinen jeweiligen lable vor.
Beispiel:
Schauenden ungerade 🙁
Gibt es eine Möglichkeit, wo ich einstellen kann label text ordnungsgemäße Oben-Links-Ausrichtung?
InformationsquelleAutor der Frage Mrunal | 2011-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anstatt wieder zu erklären, werde ich den link zu diesem sehr ausführlichen & hoch bewertete Frage/Antwort:
Vertikal ausrichten von text nach oben in UILabel
Die kurze Antwort ist Nein, Apple hat dies nicht leicht, aber es ist möglich, durch ändern der frame-Größe.
InformationsquelleAutor der Antwort shawnwall
Es ist ziemlich einfach zu tun. Erstellen Sie eine
UILabel
Unterklasse mit einerverticalAlignment
Eigentum und überschreibentextRectForBounds:limitedToNumberOfLines
zurückzukehren, die richtigen Grenzen für oberen, mittleren oder unteren vertikalen Ausrichtung. Hier ist der code:SOLabel.h
SOLabel.m
InformationsquelleAutor der Antwort memmons
Den SOLabel für mich funktioniert.
Swift 1:
Swift 3:
Diese version aktualisiert wurde aus dem original zu ermöglichen, die Unterstützung für RTL-Sprachen:
InformationsquelleAutor der Antwort totiG
Fand ich eine Lösung mit AutoLayout in StoryBoard.
1) keine der Reihen auf 0 und Ausrichtung des Textes nach Links.
2) die Höhe Zwang.
3) Die Höhe Constraint-im Verhältnis - Weniger Als oder Gleich
4)
Bekam ich das Ergebnis wie folgt :
InformationsquelleAutor der Antwort Alvin George
In Ihrem code
Beachten Sie, dass wenn Sie verwenden, dass in Tabellenzellen oder anderen Blick auf die recycelt mit anderen Daten, müssen Sie zum speichern der original-frame irgendwo ein und setzen Sie es vor dem Aufruf sizeToFit.
InformationsquelleAutor der Antwort n13
War ich auch mit diesem problem, aber was ich fand war das die Reihenfolge, in der Sie die UILabel Eigenschaften und Methoden Fragen!
Wenn Sie anrufen
[label sizeToFit]
vorlabel.font = [UIFont fontWithName:@"Helvetica" size:14];
dann der text nicht ausrichten oben, aber wenn Sie vertauscht, dann tut es!Mir ist auch aufgefallen, dass die Einstellung der text macht einen Unterschied zu.
Hoffe, das hilft.
InformationsquelleAutor der Antwort rharvey
Fand ich eine andere Lösung für das gleiche problem. Ich verwendet
UITextView
stattUILabel
und wechselteeditable()
Funktionfalse
.InformationsquelleAutor der Antwort Maxim Zh
Als Sie über den interface builder festlegen der Randbedingungen für die Beschriftung ein (achten Sie auf die Höhe und Breite). Dann sind Sie im Size Inspector, überprüfen Sie die Höhe für das label. Dort werden Sie wollen, es zu Lesen >= anstelle von =. Dann in der Umsetzung für die Ansicht-controller, stellen Sie die Anzahl der Zeilen auf 0 (kann auch getan werden, IB), und setzen Sie die Beschriftung [label sizeToFit]; und als Sie Ihren text erhält die Länge, das label wird in die Höhe wachsen und halten Sie Ihren text in der oberen linken.
InformationsquelleAutor der Antwort TomG103
Lösung mit SoLabel funktioniert , Danke.
Balg habe ich Hinzugefügt, monotouch-version:
InformationsquelleAutor der Antwort plvlad
Die einfachste und einfachste Weg, einbetten, Label in StackView und Einstellung StackView Achse, Horizontale Ausrichtung Oben im Attribut-Inspector von Storyboard wie hier gezeigt.
InformationsquelleAutor der Antwort Baig
Wenn das, was Sie brauchen, ist die nicht-editierbaren text, der standardmäßig beginnt in der oberen linken Ecke können Sie einfach eine Text-Ansicht, anstatt ein label und dann setzen Sie seinen Status auf " nicht editierbar, so wie hier:
Einfacher als messing mit den Etiketten...
Prost!
InformationsquelleAutor der Antwort Alejandro Camus
Für iOS 7 das ist, was ich gemacht habe und für mich gearbeitet
InformationsquelleAutor der Antwort nmortada
Swift 2.0: : Mit UILabel Erweiterung
Machen Konstante enum-Werte in ein leeres Swift-Datei.
Mit UILabel-Erweiterung:
Stellen Sie ein leeres Swift-Klasse und nennen Sie es. Fügen Sie die folgende.
Verwendung :
InformationsquelleAutor der Antwort Alvin George
Swift 3-version von @totiG Antwort
InformationsquelleAutor der Antwort bz13