Hallo, ich habe eine TableViewController
mit zwei statischen Zellen, aber wenn angezeigt, zeigt es die zwei statischen Zellen und dann alle anderen leeren Zellen für die Tabellenansicht. Ich möchte diese Zellen jedoch nicht anzeigen, da sie unbrauchbar sind. Wie verstecke ich den Rest der Zellen außer den beiden statischen Zellen?
118
NSTableView
? Es hat keinetableFooterView
.tableView.tableFooterView = UIView()
Wählen Sie Ihre UITableView aus, rufen Sie den Attributinspektor auf und ändern Sie den Stil in Gruppiert.
quelle
Der Grund für die Einstellung
tableFooterView
zumUIView()
Entfernen der Zeilen liegt darin, dass Sie ein leeresUIView()
Objekt für die Eigenschaft festlegen. Gemäß der Apple-Dokumentation:Wenn Sie daher ein leeres UIView () festlegen, wird für diese Eigenschaft nichts unter Ihren Daten angezeigt.
Sie können die leeren Zeilen zurücksetzen
tableFooterView
, indem Sie den Standardwert wie folgt zurücksetzen :quelle
Durch Einstellen von
tableFooterView
sollten zusätzliche zellenähnliche Ansichten entfernt werden.quelle
Sie können dies auch im Storyboard erreichen, indem Sie einfach eine Ansicht in den Fußbereich der Tabellenansicht ziehen und dann die Höhe und Hintergrundfarbe auf 1 setzen bzw. mit dem Eigenschafteninspektor löschen.
(Dies setzt voraus, dass Sie die Gruppenstileinstellung aus irgendeinem Grund nicht verwenden können oder möchten. Andernfalls tun Sie dies einfach.)
quelle
Swift 4 Wenn Sie auf die Antwort von HorseT eingehen, steuern Sie zunächst das Ziehen aus Ihrer Tabellenansicht in Ihrem Storyboard in Ihre View Controller-Klasse und erstellen Sie eine Steckdose mit dem Namen tableView.
Dann sollte Ihr viewDidLoad in Ihrem View Controller ungefähr so aussehen:
quelle
Basierend auf den obigen Antworten in Kürze .
quelle
Wenn Sie Zeilen für alle
UITableViews
in Ihrer App entfernen möchten , fügen Sie einfach eine Erweiterung wie die folgende hinzu:Swift 5.0
quelle
Rufen Sie diesen Code innerhalb der
viewWillAppear
Methode auf. Und wird funktionierenquelle
Fügen Sie den folgenden Code in Ihre Funktionen " func viewDidLoad () überschreiben " oder "func viewWillAppear (_ animiert: Bool) überschreiben" "ein .
quelle
Einfach hinzufügen:
Erläuterung:
Dies ist absolut gültig und funktioniert in kurzer Zeit einwandfrei. 3.By Da Sie ein leeres UIView () -Objekt für die Eigenschaft festlegen, werden die Zeilen durch Festlegen von tableFooterView auf UIView () entfernt.
quelle
Abobe anwer ist richtig. Wir können dies erreichen, indem wir hinzufügen
quelle
Ich habe die tableview.tableFooterView = UIView () ausprobiert und es hat bei mir nicht funktioniert. Ich verwende eine benutzerdefinierte TableViewViewCell, vielleicht deshalb.
Ich habe einen Hack gefunden. In meiner func numberOfRowsInSection
Dadurch wird meine extra leere benutzerdefinierte UITableViewCell nicht mehr angezeigt. Natürlich ist es das extra leere. 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.
quelle