UnWind Segue
Benoit Capallere - Edecision
Les grandes lignes
• Utilisation avec les storyboards
• Disponible depuis iOS 6
• Va servir à faire des traitements sur le...
Mise en place (1)
• On a 2 contrôleurs avec :
– un bouton pour passer du « rouge » au vert »
– Un bouton pour passer du « ...
Mise en place (2)
• On rajoute la méthode suivante sur le contrôleur 1 « rouge »
- (IBAction)backUnWindSegue:(UIStoryboard...
L’impact dans le storyboard
• Dans « connexion inspector » on va retrouver
la connexion vers l’action
• Dans l’éditeur de ...
Récupérer des données
• On attribue un identifiant à l’unwind segue
• On rajoute une @property au controleur 2 « vert »
• ...
Traitement avec l’Unwind segue
• Comme pour une segue on pourra faire un
traitement particulier lors du déclenchement avec...
Condition sur l’unwind segue
• On pourra conditionner son exécution avec la méthode
« shouldPerformSegueWithIdentifier » s...
Unwind à plusieurs niveaux (1)
• Il va être possible de dépiler plusieurs contrôleurs d’un coup
• 0n rajoute un contrôleur...
Unwind à plusieurs niveaux (2)
• Sur le contrôleur « bleu » si on cherche à l’associer au bouton
« Exit » on retrouvera la...
Comme pour une segue
• On peut
– Déclencher la segue dans le code avec l’identifier
[self performSegueWithIdentifier:@"Bac...
Prochain SlideShare
Chargement dans…5
×

Unwind segue by benoit capallere

4 786 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
4 786
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4 096
Actions
Partages
0
Téléchargements
5
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Unwind segue by benoit capallere

  1. 1. UnWind Segue Benoit Capallere - Edecision
  2. 2. Les grandes lignes • Utilisation avec les storyboards • Disponible depuis iOS 6 • Va servir à faire des traitements sur le retour sur un précèdent contrôleur avec moins de code que pour un delegate.
  3. 3. Mise en place (1) • On a 2 contrôleurs avec : – un bouton pour passer du « rouge » au vert » – Un bouton pour passer du « vert » au « rouge »
  4. 4. Mise en place (2) • On rajoute la méthode suivante sur le contrôleur 1 « rouge » - (IBAction)backUnWindSegue:(UIStoryboardSegue *)segue { } • On Clic sur le bouton du contrôleur 2 « vert » pour lui associer cette méthode avec le bouton « Exit » du storyboard.
  5. 5. L’impact dans le storyboard • Dans « connexion inspector » on va retrouver la connexion vers l’action • Dans l’éditeur de scène on va retrouver notre Unwind Segue
  6. 6. Récupérer des données • On attribue un identifiant à l’unwind segue • On rajoute une @property au controleur 2 « vert » • On peut ainsi récupérer la valeur depuis le controleur 1 « rouge » - (IBAction)backUnWindSegue:(UIStoryboardSegue *)segue { View2Controller *controller = segue.sourceViewController; NSLog(@"%d",controller.value); }
  7. 7. Traitement avec l’Unwind segue • Comme pour une segue on pourra faire un traitement particulier lors du déclenchement avec « prepareForSegue » - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"BackUnwind"]) { } }
  8. 8. Condition sur l’unwind segue • On pourra conditionner son exécution avec la méthode « shouldPerformSegueWithIdentifier » sur le contrôleur 2 « vert ». - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { return NO; } • Si on a plusieurs segues il suffira de rajouter le test sur le nom de l’identifieur - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { if ([identifier isEqualToString:@"BackUnWind"]) { return YES; } return NO; }
  9. 9. Unwind à plusieurs niveaux (1) • Il va être possible de dépiler plusieurs contrôleurs d’un coup • 0n rajoute un contrôleur « bleu » à notre exemple
  10. 10. Unwind à plusieurs niveaux (2) • Sur le contrôleur « bleu » si on cherche à l’associer au bouton « Exit » on retrouvera la méthode « backUnWindSegue » qui est dans le contrôleur 1 « rouge », n’étant pas implémenté dans le contrôleur 2 « vert ». • On va donc directement retourner sur le contrôleur 1 « rouge ».
  11. 11. Comme pour une segue • On peut – Déclencher la segue dans le code avec l’identifier [self performSegueWithIdentifier:@"BackManualUnWind" sender:self]; – Faire une « Custom » segue pour mettre en place sa propre animation.

×