Die Höhe der TableheaDerview scheint 0 zu sein
-
20-09-2019 - |
Frage
Ich habe versucht, das zweite Tableheaderview zu überschreiben. Aber es scheint, dass die Höhe der Methode HighforheaderIninsection 0 zu sein scheint. Ich kann es nicht erklären. Muss ich sie in einen IVAR stecken, da ich in der Viewforheaderinsection die Ansicht ohne Probleme festlegen kann.
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if(section == 0)
return @"Adding a new list";
else
return @"Other lists";
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if(section == 0) {
return tableView.tableHeaderView;
} else {
UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 50)] autorelease];
view.backgroundColor = [UIColor redColor];
return view;
}
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if(section == 0)
return tableView.tableHeaderView.frame.size.height;
else
return 30;
}
Lösung
Ich denke, Sie verwechseln den Tischheader und den Header für jeden Abschnitt, sie sind unterschiedlich. Es gibt keine "zweite TabellenheaDerview", a UITableView
hat einen tableHeaderView
und dann abhängig von der viewForHeaderInSection
und heightForHeaderInSection
Methoden zum Platzieren von benutzerdefinierten Headeransichten für jeden Abschnitt, ansonsten verwenden Sie gerade gerade titleForHeaderInSection
dort Text platzieren.