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;
}
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top