Dynamische Höhe für statische Tabelle Zellen mit Verpackung Etiketten?
Mein text ist zwei Zeilen lang im portrait-Modus. Wenn ich Wechsel zu Querformat-Modus, es passt in eine einzige Zeile. Ich bin mit statischen tableview-Zellen über ein storyboard, wie kann ich die Größe der Zeile zu passen behaglich?
Dem Bildschirm ist eine signin-Bildschirm.
- Die erste Zelle enthält eine Erklärung text
- Das zweite ist ein text Feld für die Eingabe der account-Namen
- Die Dritte ist eine sichere Textfeld für die Eingabe des Passwortes
- Die vierte (und Letzte) Zelle enthält die signin-button. Die return-Taste auf der Tastatur, sendet das Formular oder wechselt der Fokus gegebenenfalls
- Überprüfen Sie die folgenden für eine bessere Lösung in Swift stackoverflow.com/questions/30450434/...
- Nicht das gleiche problem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
UITableView's heightForRowAtIndexPath
:BEARBEITEN : Hinzugefügt
support
für> and < ios7
und alssizeWithFont
- Methode ist deprecated in iOS 7.0size
ist nicht eine Methode aufCGRect
, müssen Sie die Eigenschaft zu verwenden. So würde es sein:strSize = [[strText boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName :font,NSParagraphStyleAttributeName:[pstyle copy]} context:nil].size];
Hatte ich Erfolg mit ein wenig einfacheren Umsetzung. So lange, wie Sie Ihre statische Tabelle anzeigen mit den richtigen Einschränkungen, die für die Zellen, Sie können Fragen, das system, die Größe für Sie:
UITableViewAutomaticDimension
Sie nicht selbst schreiben zu müssen-die-Höhe-Methode. 🙂tableView.cellForRowAtIndexPath
innerhalbheightForRowAtIndexPath
führt zu RekursionIch habe diese arbeiten mit den richtigen Einschränkungen, bei denen das Etikett hat oben und unten Beschränkungen festgelegt und für die Rückgabe der UITableViewAutomaticDimension in der heightForRowAt wie diese
In meinem Fall hatte ich mehrere Etiketten in einem Stapel anzeigen und so musste ich die stack-Ansicht oben und unten an den contentView, um für die Zelle zu wachsen.