Je l'ai fait fonctionner dans iOS7 en utilisant une cellule prototype dans le storyboard. J'ai un bouton dans ma vue d'en-tête de section personnalisée qui déclenche une séquence configurée dans le storyboard.
Commencez avec la solution de Tieme
Comme le souligne pedro.m, le problème avec ceci est que le fait d'appuyer sur l'en-tête de section provoque la sélection de la première cellule de la section.
Comme le souligne Paul Von, cela est résolu en renvoyant le contentView de la cellule au lieu de la cellule entière.
Cependant, comme le souligne Hons, un appui long sur ledit en-tête de section plantera l'application.
La solution consiste à supprimer tous les gestureRecognizers de contentView.
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
static NSString *CellIdentifier = @"SectionHeader";
UITableViewCell *sectionHeaderView = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
while (sectionHeaderView.contentView.gestureRecognizers.count) {
[sectionHeaderView.contentView removeGestureRecognizer:[sectionHeaderView.contentView.gestureRecognizers objectAtIndex:0]];
}
return sectionHeaderView.contentView; }
Si vous n'utilisez pas de gestes dans vos vues d'en-tête de section, ce petit hack semble le faire.