2010-07-13 2 views

Répondre

0

Utilisez -tableView:didSelectRowAtIndexPath: et tester simplement la propriété indexPath.section, par exemple:

switch (indexPath.section) 
    case kFirstSection: 
     [self doSomethingWithCustomViewForSection:kFirstSection]; 
     break; 
    case kSecondSection: 
     [self doSomethingWithCustomViewForSection:kSecondSection]; 
     break; 
    ... 
    default: 
     break; 
+0

Mais s'il n'y a pas de ligne dans la section ????? – rptwsthi

+0

? S'il n'y a pas de ligne dans la seconde, cette méthode déléguée ne devrait probablement pas être appelée, et donc vous n'avez rien à faire dans cette méthode pour cette section. –

+0

ouais mais IF en-tête est là sans lignes, alors, comment obtenir si cet en-tête est sélectionné ?? – rptwsthi

0

Vous pouvez utiliser indexPath.section dans le didSelectRowAtIndexPath: méthode pour déterminer la section de la cellule sélectionnée

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    NSLog(@"%i",indexPath.section); 
} 

ci-dessus de Affichera à la console la section que l'utilisateur a sélectionné

0

Heres ce que je faisais. basiaclly ce qu'ils ont dit, mais si vous voulez charger vue détaillée ina d'une sorte ici:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 


DetailViewController *detail = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; 
detail.item =(MWFeedItem *)[items objectAtIndex:indexPath.row]; 
// ... 
// Pass the selected object to the new view controller. 
[self.navigationController pushViewController:detail animated:YES]; 
[detail release]; 

[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 

Note: MWFeedItem est l'une de mes classes. vous devez utiliser votre propre

0

Si vous voulez dire que vous voulez attraper le robinet sur l'en-tête de section (le texte que vous revenez de tableView:titleForHeaderInSection:) alors je crains qu'il est impossible ...

Vous pouvez utiliser la tableView:viewForHeaderInSection: à la place et ajouter un bouton transparent sur le dessus du texte. Vous pouvez également ajouter un texte transparent à ce bouton qui contiendra l'index de la section. De cette façon, vous pouvez pointer tous les boutons d'en-tête de la section du même sélecteur et dans ce sélecteur, vous aurez la section (le texte du bouton) ...

+0

Vous pouvez créer un bouton ou une vue personnalisée pour insérer via la méthode délégué 'tableView: viewForHeaderInSection:'. Cette vue personnalisée/bouton peut répondre aux robinets. –

+0

:) J'ai ajouté exactement la même solution à ma réponse exactement dans le même temps avec votre commentaire ... –

Questions connexes