Unsere UITableView existiert auf einem ViewController (und kein TableViewController). Wir füllen es zur Laufzeit mit zwei Zeilen. Wenn wir eine Höhenbeschränkung setzen, erscheint die Tabelle in Ordnung. Wenn wir nicht setzen die Höhenbeschränkung die Tabelle vollständig erscheint nicht. Wie können Sie festlegen, dass UITableView die Höhe dynamisch festlegt?iOS: Dynamisch setzen UITableView Höhe in Swift
Ich habe Threads über die dynamische Einstellung der Zeilenhöhe (die funktioniert gut) aber nicht über die tatsächliche Tischhöhe gesehen. Es gibt ein paar Threads zu diesem spezifischen Punkt, aber keiner scheint für mich zu funktionieren.
Update zur Lösung: Als Roboter Katze vorgeschlagen, dass wir eine Höhe Einschränkung für die UITableView
im Storyboard eingerichtet (wir hatten das schon) und ziehen Sie dann tat Ctrl eine IBOutlet
in unserem Controller zu erstellen. Von dort führten wir den folgenden Code in viewWillAppear
pro Vignesh Antwort:
tableViewHeightConstraint.constant = tableView.contentSize.height
Hinweis, bevor Sie den obigen Code ausführen wir reloadData()
in der gleichen Methode fordern unsere Tabelle zu füllen.
Constraints sind nur ein weiteres Objekt, das Sie über ein 'IBOutlet' referenzieren können. Setzen Sie Ihre View-Controller-Constraints im Storyboard und erstellen Sie dann einen Ausgang für die Höhenbeschränkung 'UITableView' in Ihrer Unterklasse 'UIViewController' (oder die Constraint, die die Höhe des' UITableView' wie die Entfernung zum unteren Bildschirmrand steuert). Stellen Sie dann den entsprechenden Wert für die Höhe ein (wie einen festen Wert oder einen Teil des Bildschirms). –