J'essaye d'imiter le NavigationViewController
, très similaire au MailApp
par défaut dans iPhone
Lorsque vous cliquez sur un résumé du courrier, il doit slide-in les détails du courrier, et lorsque RETOUR bouton est cliqué, vue Résumé du courrier doit être glissé à nouveau.
Voici ce que j'ai pour animer la transition du résumé au détail (removeFromSuperView
)
CGRect temp = self.view.frame;
temp.Origin.x = 300;
[UIView animateWithDuration:0.5
delay:0.0
options: UIViewAnimationCurveEaseOut
animations:^{
self.view.frame = temp;
}completion:^(BOOL finished){
[self.view removeFromSuperview];
}];
C'est ce que j'ai pour animer la transition du détail au résumé (addSubview
)
CATransition *transition = [CATransition animation];
transition.duration = 0.5;
transition.type = kCATransitionFromRight;
transition.subtype = kCATransitionFade;
[parentView.layer addAnimation:transition forKey:nil];
[parentView addSubview:myVC.view];
Maintenant, ma première partie de code fonctionne bien! Où-comme la deuxième partie, je suis juste capable de réaliser l'animation de fondu. Comment puis-je introduire la transition de diapositive?
Je dois juste choisir le type de kCATransitionPush
pour mon CATransition
CATransition *transition = [CATransition animation];
transition.duration = 0.5;
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromLeft;
[transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[parentView.layer addAnimation:transition forKey:nil];
[parentView addSubview:myVC.view];
Mise à jour pour Swift:
let transition = CATransition()
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromLeft
parentView.layer.add(transition, forKey: nil)
parentView.addSubview(myVC.view)
Ou vous pouvez vérifier: HorizontalSlide Segue (juste google, je ne peux pas obtenir le lien, sur mobile) c'est une excellente transition coulissante qui est simplement une séquence que vous ajoutez de la vue A à B ....
Sur une note latérale, s'il s'agit d'un contrôleur de navigation, un Push ou un pop devrait avoir une animation de diapositive par défaut ...