2015-02-24 20 views

Antwort

216

in Ihrer viewDidLoad() Funktion diese Codezeile hinzu:

tableView.tableFooterView = UIView() 
+0

Kurz und effektiv! Arbeitete wie Charme! – yogipriyo

+3

Was bedeutet das? Könnten Sie ausarbeiten? –

+0

Diese Antwort ist immer noch in Swift 3 gültig. Wenn Sie die Hintergrundfarbe für die Tabellenansicht genauso einstellen wie die Hintergrundfarbe für die Hauptansicht, wird die Fußzeile so aussehen, als wäre sie verschwunden. –

4

dazu hinzuzufügen, den Grund, warum tableFooterView zu UIView() Einstellung der Zeilen entfernt ist, weil Sie ein leeres UIView() Objekt auf die Eigenschaft setzen. Gemäß der Apple-Dokumentation:

var tableFooterView: UIView? 

Einstellung daher eine leere UIView() wird für diese Eigenschaft nichts weiter unten Ihre Daten an.

Sie können die leeren Zeilen durch Zurücksetzen tableFooterView auf den Standardwert, wie so bringen:

tableView.tableFooterView = nil 
+2

Sorry aber sieht es nicht wie ein Hack aus? – AOY

+2

Nein, das ist eine absolut gültige Methode. Wenn Sie eine benutzerdefinierte TabelleFooterView festlegen möchten, erstellen Sie eine benutzerdefinierte UIView, bevor Sie sie auf tableFooterView setzen. Wenn Sie es dann auf null zurücksetzen, wird es nur auf den Standardwert zurückgesetzt. – toast

+0

Ich verstehe. Danke) Es sieht nur ein bisschen komisch für mich aus, da ich neu zu swift – AOY

2

Sie dies auch durch einfaches Ziehen Blick in die Fußbereich der Tabellenansicht, und dann in der Storyboard erreichen können Stellen Sie die Höhe und die Hintergrundfarbe mit dem Eigenschafteninspektor auf 1 bzw. löschen ein.

(Dies setzt voraus, dass Sie entweder nicht oder wollen nicht nur den Stil Einstellung aus irgendeinem Grund-Gruppe verwenden. Ansonsten nur das tun.)

1
tableView.tableFooterView = UIView.init(frame: CGRect.zero) 

Anruf dieser Code innerhalb des viewWillAppear Methode. Und arbeiten

0

einfach hinzufügen:

tableView.tableFooterView = UIView() 

Erläuterung:

Dieser total gültig ist und funktioniert perfekt in schnellen 3.By Da Sie eine leere UIView() Objekt auf die Eigenschaft einstellen, einstellen tableFooterView to UIView() entfernt die Zeilen.

+0

bin, was ist der Unterschied von akzeptierter Antwort? –

1

Wählen Sie Ihre UITableView, gehen Sie zum Attributinspektor und ändern Sie den Stil in Grouped.

-1

Ich versuchte die tableview.tableFooterView = UIView() und es hat nicht für mich funktioniert. Ich verwende eine benutzerdefinierte TableViewViewCell, vielleicht deshalb.

Ich habe einen Hack tho gefunden. In meinem func numberOfRowsInSection

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return yourArrayClass.count - 1 
} 

Und das macht meine leere zusätzliche benutzerdefinierte nicht mehr angezeigt werden UITableViewCell. Natürlich ist es das extra Leerzeichen. Ich werde es noch mehr testen, indem ich weitere Zellen hinzufüge. Als Referenz verwende ich Swift 3, Firebase, eine benutzerdefinierte Zellenklasse innerhalb der cellForRowAt-Funktion.

+0

Dies zeigt nicht das letzte Element im Array an. – elarcoiris

1

Swift 4 auf Antwort der HORSET Ausarbeiten, erster Steuer ziehen Sie von Ihrer Tabellenansicht in Ihrem Storyboard, auf Ihre View-Controller-Klasse und erstellen einen Auslass Tableview genannt.

@IBOutlet weak var tableView: UITableView! 

Dann Ihre viewDidLoad in Ihrem View-Controller sollte wie folgt aussehen:

override func viewDidLoad() { 
    super.viewDidLoad() 

    tableView.dataSource = self 
    tableView.delegate = self 

    tableView.tableFooterView = UIView() 
} 
0

Basierend auf oben Antworten in schnellen.

tableView.tableFooterView = UIView(frame: .zero) 
Verwandte Themen