Hinzufügen eines UIButton im Header des UITableView-Headers
Ich muss eine Schaltfläche direkt über einer dynamisch ausgefüllten UIViewTable platzieren. Es fühlt sich richtig an, die erste Zelle (Zeile 0) nicht zu füllen, sondern den Header-Bereich zu verwenden. Daher benutze ich die UITableViewDelegate-Methode, um programmgesteuert eine UIView mit einem UIButton zu erstellen:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0,0, 320, 44)] autorelease]; // x,y,width,height
UIButton *reportButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
reportButton.frame = CGRectMake(80.0, 0, 160.0, 40.0); // x,y,width,height
[reportButton setTitle:@"rep" forState:UIControlStateNormal];
[reportButton addTarget:self
action:@selector(buttonPressed:)
forControlEvents:UIControlEventTouchDown];
[headerView addSubview:reportButton];
return headerView;
}
Der Schaltfläche wird jedoch, wie unten dargestellt, nicht der erforderliche Speicherplatz zugewiesen (ich habe erwartet, dass die Höhe der Kopfzeile dem Argument 44 entspricht).
Was ist hier falsch? Ich sollte hinzufügen, dass das UITableView in einer separaten XIB-Datei erstellt wird.