2012-03-28 1 views
3

Je suis nouveau à l'objectif C et j'ai essayé de faire Segue en utilisant un bouton d'un contrôleur de vue à l'autre. Je souhaite utiliser un type push pour la section avec laquelle, le premier contrôleur de vue est intégré dans un contrôleur de vue de navigation. Voici les fichiers .m et .h du premier contrôleur de vue.Comment faire pousser segue à travers un bouton d'un contrôleur de vue à l'autre?

firstViewController.m

@implementation 

**(am I supposed to have an IBAction here for the pressed button?)** 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

    if ([segue.identifier isEqualToString:@"firstSegue"]) { 

    **(I don't know what to put here)**  

    } 
} 
@end 

firstViewController.h

@interface firstViewController : UIViewController 



@end 

Répondre

5

Si vous avez câblé le bouton lui-même à la Segue (ctrl + glisser du bouton pour la deuxième vue contrôleur dans le constructeur d'interface), alors vous n'aurez pas besoin d'un IBAction. Tant que votre contrôleur de vue est correctement associé à un contrôleur de navigation, il suffit de câbler le segue de cette manière pour faire une animation de poussée du premier contrôleur de vue au second - vous n'aurez pas à écrire de code à tout. Le but de la méthode prepareForSegue est de transmettre des données au contrôleur de vue cible, de définir un délégué, etc. Si vous n'avez aucune donnée à transmettre au second contrôleur de vue ou rien à configurer dans ce contrôleur, alors vous pas besoin de mettre en œuvre prepareForSegue. Vous pouvez rechercher en ligne des termes tels que le délégué de storyboard segue pour trouver quelques tutrorials like this qui décrivent quelques bonnes pratiques pour utiliser prepareForSegue et d'autres fonctionnalités de storyboard pour gérer les transitions entre vos contrôleurs de vue.

+0

J'ai essayé de faire ce que vous avez suggéré. Donc, j'ai fait un contrôleur de vue nommé firstViewController. Après avoir déplacé le nouveau contrôleur de vue (contrôleur 2ème vue) vers le storyboard, j'ai créé un nouveau fichier, une classe C objective nommé secondViewController, de type UIViewController. Puis j'ai identifié ce nom de classe de contrôleur de vue à secondViewController. Après la configuration de ces contrôleurs de vue, j'ai câblé un bouton du premier contrôleurViewView au secondViewController. Enfin, j'ai cliqué sur le firstViewController et intégré le contrôleur de navigation. Le compilateur a couru avec succès encore, – Hans

+0

je suis arrivé ce une ligne en surbrillance qui est à partir du fichier main.m "retour UIApplicationMain (argc, argv, nul, NSStringFromClass ([classe DiscountWalletAppDelegate]));" avec ce point culminant est un marqueur qui dit: "Thread 1: signal SIGABRT". Qu'est-ce que cela veut dire? – Hans

+0

Ceci est apparu après que j'ai cliqué sur le bouton sur mon simulateur. – Hans

Questions connexes