2011-03-21 4 views
0

Je crée une application basée sur la navigation et j'ai remarqué une faille dans mon application. Même si j'ai plusieurs boutons, chacun ayant son propre titre, le bouton vous amène au même écran, peu importe le bouton sur lequel j'appuie. Est-il possible de s'assurer que chaque bouton mène à une page spécifique au bouton pressé. Comme en cliquant sur Options et il vous amène au menu d'option ne pas cliquer sur les images et il vous amène au menu des options. Toute aide serait appréciée Merci. Ceci est ma pile méthode popping:Spécification des boutons de navigation

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

    Anotherviewcontroller *detailViewController = [[Anotherviewcontroller alloc] initWithNibName:@"Anotherviewcontroller" bundle:nil]; 

    detailViewController.currentItem = @"Years"; 

    [self.navigationController pushViewController:detailViewController animated:YES]; 

    [detailViewController release]; 

} 
+0

Veuillez publier le code qui se trouve dans la table "- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath {" du code ViewController. –

Répondre

0

Vous devez utiliser le indexPath pour déterminer quel bouton/cellule a été sélectionnée puis, peut-être avec une instruction switch s'il y a beaucoup, créez le contrôleur approprié.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
     if(indexPath.row == 0) { 
     Anotherviewcontroller *detailViewController = [[Anotherviewcontroller alloc] initWithNibName:@"Anotherviewcontroller" bundle:nil]; 
     detailViewController.currentItem = @"Years"; 
     [self.navigationController pushViewController:detailViewController animated:YES]; 
     [detailViewController release]; 

     } else { 
     MessageViewController *messageViewController = [[MessageViewController alloc] initWithNibName:@"Messageviewcontroller" bundle:nil]; 
     [self.navigationController pushViewController:messageViewController animated:YES]; 
     [messageViewController release]; 
     } 
} 
+0

Ceci est vraiment utile, mais j'ai un type de liste mis en place. Où j'ai Noms> Années> PDFNameList> Document PDF .... Et je veux que chaque nom mène à son ensemble spécifique d'oui et de titres PDF .... est-ce que cela signifie que je dois créer un contrôleur de vue pour chaque nom? – Seergeek

+0

Non, vous devez changer votre contrôleur pour travailler avec votre entrée: année et pdf et ainsi de suite. Ensuite, tout ce que vous avez à faire est de déterminer quelle année/pdf a été sélectionné par l'indexPath actuel. Écrivez une méthode comme: '- (MyData *) dataForIndexPath (NSIndexPath *) anIndexPath ...' que vous appelez dans didSelectRowAtIndexPath et transmettez vos données à votre contrôleur. –

0

Vous pouvez définir indexPath.row comme une étiquette de chaque BTN lorsque vous créez des cellules puis en didSelectRowAtIndexPath vous pouvez vérifier cette balise.

+0

Comment j'irais à ce sujet? – Seergeek

+0

Si j'ai raison, vous avez ces boutons dans les cellules. et vous pouvez appeler la fonction setTag à ces btns et une cible commune à tous btn et dans cette fonction cible, vous pouvez vérifier l'étiquette du bouton. – saadnib

Questions connexes