Je l'ai fait fonctionner dans iOS7 en utilisant une cellule prototype dans le storyboard. J'ai un bouton dans la vue d'en-tête de ma section personnalisée qui déclenche une séquence configurée dans le storyboard.
Commencez par La solution de Tieme
Comme le souligne pedro.m, le problème est que le fait d'appuyer sur l'en-tête de section entraîne la sélection de la première cellule de la section.
Comme le souligne Paul Von, ce problème est résolu en renvoyant la ContentView de la cellule au lieu de la cellule entière.
Cependant, comme le souligne Hons, un appui long sur l'en-tête de cette section fera planter l'application.
La solution est de supprimer tout 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 les gestes dans les vues d'en-tête de vos sections, cette petite astuce semble y parvenir.