Ausgabe
Ich erstelle eine Tabellenansicht mit 10 Abschnitten, die alle eine Kopfzeilenansicht, aber keine Zellen haben. Kurz gesagt, meine Tabellenansicht zeigt nur 10 Kopfzeilenansichten an; In keinem Abschnitt gibt es Zellen. Wenn ich das jetzt mache, gibt es etwas Platz zwischen den Kopfzeilenansichten des Abschnitts. Ich möchte diesen Raum entfernen. Ist das möglich? Können Sie mir einen Hinweis geben oder umgehen, um dies zu erreichen?
Hier sind die Datenquellenmethoden:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 10;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 0;
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UILabel * label = [[UILabel alloc] init];
label.backgroundColor = [UIColor grayColor];
return label;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 44.0f;
}
Hier ist der Screenshot der Ausgabe:
Ich habe einen etwas komplizierten Grund, warum ich das so mache, den ich nicht schriftlich erklären kann. Alles, was ich tun möchte, ist, keinen Abstand in den Kopfzeilenansichten des Abschnitts zu haben. Danke im Voraus.
Lösung
Versuche dies..
self.tableView.rowHeight = 0; // in viewdidload
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; // in viewdidload
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return 0.01f;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return <your header height>;
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
return [[UIView alloc] initWithFrame:CGRectZero];
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
return <your header view>;
}
Haben Sie auch Tabellentrennzeichen als keine.
Beantwortet von – RAJA
Antwort geprüft von – Dawn Plyler (FixError Volunteer)