J'ai pensé que je voudrais ajouter une autre possibilité. Une des choses que vous pouvez faire est de vous pouvez vous connecter dans deux scènes d'un scénario à l'aide d'une séquence qui n'est pas attaché à une action, puis par programme déclencher la séquence à l'intérieur de votre vue-contrôleur. La façon dont vous faites ce que vous avez à faire glisser à partir de la propriétaire du fichier de l'icône au bas de la table de montage séquentiel scène qui est la segueing scène, et en faisant glisser à droite de la scène de destination. Je vais le jeter dans une image pour aider à expliquer.
Une fenêtre s'afficher pour "Manuel de Transition". J'ai choisi de Pousser comme type. Appuyez sur la petite place et assurez-vous que vous êtes dans les attributs de l'inspecteur. Donner un identifiant qui vous servira de référence dans le code.
Ok, la prochaine je vais enchaîner à l'aide d'un programmatique bouton de la barre d'élément. Dans le viewDidLoad ou ailleurs je vais créer un bouton de l'élément sur la barre de navigation avec ce code:
UIBarButtonItem *buttonizeButton = [[UIBarButtonItem alloc] initWithTitle:@"Buttonize"
style:UIBarButtonItemStyleDone
target:self
action:@selector(buttonizeButtonTap:)];
self.navigationItem.rightBarButtonItems = @[buttonizeButton];
Ok, notez que le sélecteur est buttonizeButtonTap:. Afin d'écrire une méthode void pour que le bouton et, dans cette méthode vous permettra d'appeler la séquence comme ceci:
-(void)buttonizeButtonTap:(id)sender{
[self performSegueWithIdentifier:@"Associate" sender:sender];
}
Le paramètre sender est nécessaire pour identifier le bouton lorsque prepareForSegue est appelé. prepareForSegue est la méthode du cadre où vous instanciez votre scène et de transmettre les valeurs qu'il aura besoin pour faire son travail. Voici ce que ma méthode ressemble à ceci:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"Associate"])
{
TranslationQuizAssociateVC *translationQuizAssociateVC = [segue destinationViewController];
translationQuizAssociateVC.nodeID = self.nodeID; //--pass nodeID from ViewNodeViewController
translationQuizAssociateVC.contentID = self.contentID;
translationQuizAssociateVC.index = self.index;
translationQuizAssociateVC.content = self.content;
}
}
Ok, juste testé et il fonctionne. Espérons qu'il vous aide.