AutoLayout uitableviewcell im Querformat und auf dem iPad Berechnung der Höhe basierend auf dem iPhone im Hochformat
Ich lerne / experimentiere mit Autolayout undUITableViewCell
's. Ich habe vor ein paar Tagen eine andere Frage gestellt, auf die ich meine eigene Frage beantwortet habe. Ich verwende immer noch dieselben Einschränkungen / denselben Code. Den vollständigen Code finden Sie hier:AutoLayout mehrzeiliges UILabel, das Text abschneidet .
Um es kurz zu machen, ideheightForRowAtIndexPath
Ich verwende eine Instanz eines benutzerdefiniertenUITableViewCell
Um die Höhe zu berechnen, muss die Reihe sein. Dies funktioniert perfekt im Hochformat, aber wenn ich in den Querformatmodus wechsle,systemLayoutSizeFittingSize
gibt die gleiche Höhe für die Zelle zurück, als ob sie im Hochformat wäre. Ich habe die Frames des ausgedrucktcontentView
und die Etiketten und nichts scheint zu aktualisieren.
Dies hat zur Folge, dass die Etiketten aufgrund von Einschränkungen immer größer werden und eine große Menge an Leerzeichen verbleiben. Die Beschriftungen werden in der richtigen Breite angezeigt, im Querformat sind sie wie erwartet angeordnet. Wenn ich die Höhe der Zelle fest codiere, funktioniert sie einwandfrei.
Es sieht aus wie das:
Nach der Hardcodierung (wie soll es aussehen):
Noch schlimmer ist, dass ich das gleiche Ergebnis erhalte, wenn ich auf dem iPad oder im Hochformat arbeite. Nach dem, was ich sehe, ist es so, als obsystemLayoutSizeFittingSize
hat kein Konzept der Orientierung oder Gerät in dieser Angelegenheit.
Ich habe versucht, das vorzutäuschenframe
Die Zelle sollte sich drehen und anrufenlayoutSubviews
Nachladen dertableView
auf Orientierungsänderung und nichts scheint es zu beeinflussen.
Habe ich etwas Grundlegendes verpasst?