swift: Programmgesteuertes erstellen UILabel mit fester Breite, die Größe, die vertikal nach Textlänge

Ich habe gesehen, Antworten auf die vertikale Größenänderung beinhalten autolayout, aber die UILabels ich bin erstellen sind nur zur Laufzeit benötigt. (Ich muss irgendwo von null auf viele dieser Etiketten.)

Beispiele (ignorieren Sie die Farbe)

  1. Kurzen text (Hinweis: gleiche Breite für den längeren text):

swift: Programmgesteuertes erstellen UILabel mit fester Breite, die Größe, die vertikal nach Textlänge

  1. Längeren text (Hinweis: gleiche Breite wie kürzere text-Beispiel mit mehreren Zeilen für die add ' L text):

swift: Programmgesteuertes erstellen UILabel mit fester Breite, die Größe, die vertikal nach Textlänge

Wenn der text in eine Zeile passen mit fester Breite, das label sollte nicht müssen, um die Größe vertikal. Aber wenn es mehr Zeichen, sollte das Etikett weiter ausdehnen und vertikal zu passen, diese zusätzlichen Zeichen. Der text sollte halten Sie die Verpackung um eine Zeile nach Zeile. Der text sollte beginnen in der oberen linken Ecke des Etiketts.

Um genauer zu sein:

let marker = GMSMarker(position: myLatLng)
//see http://stackoverflow.com/a/40211383/1168364 for imageWithView
marker.icon = imageWithView(label) //**how do i create this label?**
marker.map = map // map is a GMSMapView

Diese Aufkleber können überall auf dem Bildschirm. Dies ist für eine map-Anwendung, wo jedes Etikett befindet sich an einer zufälligen Stelle. Die Bezeichnungen' Standorte haben keine Beziehung zu einander.

Mögliche Duplikate von Anpassen UILabel Höhe je nach text
kannst du bitte überdenken Sie dies nicht als ein Duplikat? Diese Lösung scheint nicht zu funktionieren hier. Beachten Sie die Zusatz-Anforderung mit fester Breite. Vielleicht haben Sie einige Ideen, warum die Lösung unten funktioniert nicht.
Ich habe eingefahren enger Abstimmung, aber es ist immer noch ein Duplikat. Die folgende Lösung geht davon bist du mit autolayout-constraints. Meine Lösung unten ist eine alternative, es ist das aktualisieren der Rahmen manuell.

InformationsquelleAutor lf215 | 2016-11-12

Schreibe einen Kommentar