Swift, Das Auto-Resize-Benutzerdefinierte Tabelle Anzeigen-Zellen
In meine app, ich habe einen table view mit einem Bild, Bezeichnung und text-Ansicht in jede Zelle. Ich möchte in der Lage sein, um die automatische Größenänderung der Zellen je nach der Menge des Inhalts in der text-Ansicht. (Die text-Ansicht ist die untere den meisten text.)
So weit, ich habe die richtige Zwänge; leading, trailing, oben und unten auf die text-Ansicht und deaktiviert das scrollen und Bearbeiten.
In meiner tableViewController.swift-Datei, die ich geschrieben habe, dieser code:
override func viewWillAppear(_ animated: Bool) {
tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableViewAutomaticDimension
}
Dies ist jedoch nicht so, wenn ich mehr text hinzufügen, um den text anzuzeigen, den Sie gerade schneidet.
Vielleicht dies etwas hat zu tun mit der Karte Aussehen, ich habe eine UIView, die in jeder Zelle wirkt wie eine Karte.
Weiß ich ehrlich gesagt nicht, was ich falsch mache
Bild ist unten, was meine app aussieht und wenn jemand helfen könnte, wäre sehr dankbar
Scale To Fill
im Interface Builder für Ihre UITextView
Ich fand das auto-resize-hart zu verwenden, wenn ich mehr als eine textView-innen und ich immer tun Berechnung der Höhe von mir selbst.
Ich bin daran interessiert zu wissen, wie Sie schuf die Räume zwischen den Zellen und die abgerundete Form.
Ich erstellte eine UIView, die in jeder Zelle. Setzen Sie dann den Inhalt jeder Zelle in der UIView. Die Ansicht hat 8 Pixel Abstand auf jeder Seite. Und um die Ecken Runde ich verwendet myView.cornerRadius = int
InformationsquelleAutor Luke Roberts | 2017-06-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen, ob Ihre Einschränkungen sind wie folgt(basierend auf dem Bild) :
Bildansicht : Oben und Führenden Ihre container, die mit fixen Werte für Höhe und Breite.
label : Sie können einen oberen und horizontalen Abstand des Bildes, mit fix-Höhe und-Breite sowie.
textView : was zu Bild, top Raum Bezeichnung Hinterkante und unten auf container.
Halten und mit
in Ihrem viewWillAppear()
InformationsquelleAutor gustavo caiafa
Update für swift 4.2
Verwenden:
Statt:
InformationsquelleAutor Zack
Stellen Sie sicher, dass die Inhalte-Modus ist
Scale To Fill
IhrerUITextView
Stellen Sie sicher, dass es keine Höhe Einschränkungen für die
UITextView
und die KarteUIView
Versuchen, hinzufügen die geschätzte Höhe in
viewDidLoad
:Vielleicht die AutoHeight nicht funktioniert, da der
UIView
über dieUITextView
. Versuche zu nennen, diesizeToFit
undlayoutIfNeeded
Methoden für dieUIView
imcellForRowAt
:Können Sie auch versuchen, die
sizeToFit
undlayoutIfNeeded
als auch für dieUITextView
.Hoffe das funktioniert..
Was ist das Ziel der Bereitstellung von Sie Anwendung und welche iOS-version läuft dein simulator?
Bereitstellung 10.0 und sim 10.3.1
Was wird passieren, wenn Sie die
delegate
fürheightForRowAt
:override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 100; }
InformationsquelleAutor Abadii176
Satz unten in Ihrem textView mit Boden, weiß UIView und stellen Sie sicher, dass weiß UIView hat Links,rechts,oben und unten Einschränkungen 🙂
Gleiche Art von Beispiel wird hier erläutert programmgesteuert....
InformationsquelleAutor Manish Methani