Frage

Ich habe ein paar UILabels meiner Meinung nach mit ihrer Höhe Set mit sizeWithFont:.

habe ich die autoreszingMask auf flexible Breite und Höhe, drehen jedoch auf die Breite ändert (ich davon aus, weil self.view Breite ändert und dessen Satz mit einer Breite im Verhältnis zu self.view), aber die Höhe der Stadt ändert sich nicht auf passen den Inhalt wieder. Dies führt zu einem großen weißen Raum auf der Ober- und Unterseite.

Nur frage mich, wie ich über Re-Sizing gehen würde die UILabel auf Rotation? Gibt es eine automatische Art und Weise, dies zu tun, oder gibt es einen Weg, um alle UILabels und wieder tun sizeWithFont, wenn das Gerät gedreht wird?

Die UILabels sind Subviews von UIView heirarchies als Header für die Abschnitte in meinem UITableView verwendet.

Danke Tom

War es hilfreich?

Lösung 2

Das Problem wurde mit einem flexiblen linken und rechten Rand auf einem leicht versetzt UILabel.

Wenn das Etikett nicht dann zentriert müssen Sie nach links oder rechts wählen und die flexible Marge für eine von denen festgelegt.

Andere Tipps

Sie sollten wirklich sizeToFit einen UIView, insbesondere UILabel, statt zwingt etwas beliebige Größe auf sie senden.

Der beste Ansatz ist in der Regel zum ersten Satz der maximale Breite und aktuelle Höhe, dann sizeToFit senden, stellen Sie dann die Breite wieder, wenn nötig. Im Falle von mehrzeiligen Etiketten es wie die sicherste Art und Weise zu vermeiden Layout-Fehler aussieht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top