371 Stimmen

Wie entfernt man leere Zellen in UITableView?

Ich versuche, eine einfache UITableView mit einigen Daten. Ich möchte die statische Höhe des UITableView damit am Ende der Tabelle keine leeren Zellen angezeigt werden. Wie mache ich das?

Code:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    NSLog(@"%d", [arr count]);
    return [arr count];
}

923voto

Andy Punkte 14260

Legen Sie eine höhenfreie Ansicht für die Fußzeile der Tabelle fest (vielleicht in Ihrer viewDidLoad Methode), etwa so:

Schnell:

tableView.tableFooterView = UIView()

Objektiv-C:

tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

Da die Tabelle davon ausgeht, dass eine Fußzeile angezeigt werden soll, werden nur die Zellen angezeigt, die Sie ausdrücklich angefordert haben.

Profi-Tipp für die Schnittstellenerstellung:

Wenn Sie eine xib/Storyboard können Sie einfach eine UIView (mit Höhe 0pt) auf den unteren Teil der UITableView ziehen.

104voto

Dustin Williams Punkte 3902

Swift 3-Syntax:

tableView.tableFooterView = UIView(frame: .zero)

Swift-Syntax: < 2.0

tableView.tableFooterView = UIView(frame: CGRect.zeroRect)

Swift 2.0-Syntax:

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

67voto

Gabriel Diaconescu Punkte 1699

Wählen Sie im Storyboard die Option UITableView und ändern Sie die Eigenschaft Stil von Plain a Grouped .

17voto

Leonardo Jorge Punkte 177

Implementiert mit swift auf Xcode 6.1

self.tableView.tableFooterView = UIView(frame: CGRectZero)
self.tableView.tableFooterView?.hidden = true

Die zweite Codezeile hat keine Auswirkung auf die Darstellung, Sie können damit aber überprüfen, ob sie ausgeblendet ist oder nicht.

Die Antwort stammt von diesem Link Leere Zellen in UITableView Swift nicht ausblenden

11voto

Sahil Punkte 469

Ich kann ab jetzt keinen Kommentar hinzufügen, also füge ich dies als Antwort hinzu.

Die Antwort von @Andy ist gut und die gleichen Ergebnisse können mit der folgenden Codezeile erzielt werden:

tableView.tableFooterView = [UIView new];

Die Methode 'new' gehört zu NSObject Klasse und ruft auf alloc y init Methoden für UIView .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X