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 anrufenlayoutSubviewsNachladen dertableView auf Orientierungsänderung und nichts scheint es zu beeinflussen.

Habe ich etwas Grundlegendes verpasst?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage