Dynamische Höhe für UITableView ( Nicht Zelle )

Ich versuche eine UITableView dass die Listen alle anderen HomeKit-Geräten eines Benutzers zur Verfügung hat.

Offensichtlich gibt es keine Möglichkeit zu wissen, wie viele Geräte Sie haben, so brauche ich, um das UITableView's Höhe in das storyboard ändern.

Ich habe versucht, diese, ich nenne Sie in der viewDidLoad() Funktion:

func adjustHeightOfTableView() {

  //getting the height of the tableview
    var tableHeight = self.tableView.contentSize.height

   //the height of the content inside the view
    var maxHeight = self.tableView.superview?.frame.size.height


    //if the height of the content is bigger then the height of the tableview
    if (maxHeight! > tableHeight) {

        tableHeight = maxHeight!
        //set the tableview height to be the content height

    }

    //trying to reload the tableview height?
    self.view.layoutIfNeeded()
    self.tableView.reloadData()

}

Ich versuche, einige UI-Elemente unter dem tableview, und ich möchte, dass Sie eine Menge Platz von der Unterseite der tableview, aber auch der tableview werden die Höhe, die benötigt werden, für welchen Betrag der Zellen gibt es.

Aber es funktioniert einfach nicht.
Wenn ich mache etwas falsch, oder wenn jemand weiß, wie diese Arbeit zu machen, lasst es mich bitte wissen.
Danke!

  • Sie wollen abnehmen tableView ist die Höhe, wenn weniger Zellen auf dem Bildschirm, und es zeigt leere Zelle?
  • tableHeight = maxHeight! nicht den tableView Höhe, nur einige Variablen. Sie ändern das Bild der tableView selbst. ZB self.tableView.frame = CGRectMake(...)
  • Warum willst du die Höhe verändern irgendwie? Was ist der Punkt? Nur, um loszuwerden, einige Leerzeichen am Ende der Tabelle? Warum nicht Ihre Farbe transparent statt? Oder sind Sie wollen zu Schicht einige andere Elemente der Benutzeroberfläche bis zu nehmen, dass der Raum?
  • Ich glaube, ich könnte nur die Höhe des Tableviews zu werden, größer als jede Anzahl von Zellen möglich, ich versuche, einige UI-Elemente unter dem tableview, und ich möchte, dass Sie eine Menge Platz von der Unterseite der tableview, aber auch der tableview werden die Höhe, die benötigt werden, für welchen Betrag der Zellen gibt es. Ich werde das in meine main post zu.
  • Wenn Ihre Tabelle-Ansicht den ganzen Bildschirm einnimmt, fügen Sie einfach tableView.tableFooterView = UIView() zu viewDidLoad() (dies entfernt die zusätzlichen Abscheider für nicht existierende Zeilen). Ansonsten geben Sie bei Ihrer Frage, wenn Ihre Tabelle-Ansicht angezeigt wird, wie z.B. pop, über, usw.
  • Hast du das problem lösen? Einige gute Antworten hier... hat jemand von Ihnen helfen?
  • Ich habe nicht bekommen, es funktioniert 🙁 Danke für alle die geantwortet aber!

InformationsquelleAutor Jolaroux | 2016-11-24
Schreibe einen Kommentar