12
votes

Animation de la curl de la page partielle

J'ai une transition de travail utilisant uiviewanimationTranstitionCurlup Cependant, j'aimerais que l'animation s'arrête à mi-chemin, comme l'application Cartes ... Toutes les pensées sur la manière de y parvenir?


0 commentaires

4 Réponses :


0
votes

Je ne sais pas si cela fonctionnera, mais le paramètre sur + setanimationrepeatcount: peut être une fraction.


0 commentaires

1
votes

La boucle partielle des cartes est une API privée. Vous pouvez trouver des détails sur la façon de l'utiliser dans Erica Sadun's Book < EM> Le livre de recettes du développeur iPhone , mais vous serez rejeté de l'App Store pour l'utiliser.


2 commentaires

Bon à savoir ... Devinez que je vais juste faire une page de transition de la page.


À partir de IOS 3.2, ce n'est plus vrai.



11
votes

Dans iOS 3.2 et plus tard, vous pouvez donner votre uiviewcontroller code> A uimodaltransitionstyle code> de uimodaltransitionstylepartialcurl code>. Du uiviewcontroller code> Référence , nous voyons

UIViewController *viewController;
// …create or retrieve your view controller…

// Note: The modalPresentationStyle must be UIModalPresentationFullScreen,
//       and the presenter must also be a full-screen view
viewController.modalPresentationStyle = UIModalPresentationFullScreen;
viewController.modalTransitionStyle = UIModalTransitionStylePartialCurl;


1 commentaires

Si vous souhaitez le faire, mais conservez une barre d'outils inférieure (par exemple, pas une boucle de plein écran), voir ma solution ici < / a>



7
votes

J'ai trouvé une solution pour ajouter un UIView à UIViewController à l'aide de bloc d'animation.

M_Container est un uIView qui contient mon animation de vue (auto). Self est un UIView. P>

ATTENTION: vous devez avoir importer QuartzCore P>

à la vue de la page avec une animation de curl de page Vous pouvez utiliser: P>

-(void)HideHelpView
{
    [UIView animateWithDuration:1.0 
                     animations:^{
                         CATransition *animation = [CATransition animation];
                         [animation setDelegate:self];
                         [animation setDuration:0.7];
                         [animation setTimingFunction:UIViewAnimationCurveEaseInOut];
                         animation.type = @"pageUnCurl";
                         animation.fillMode = kCAFillModeForwards;
                         animation.startProgress = 0.35;
                         [animation setRemovedOnCompletion:NO];
                         [m_container.layer addAnimation:animation forKey:@"pageUnCurlAnimation"];  
                         [self removeFromSuperview];

                         ;}  
     ];

}


2 commentaires

Est-ce que cette API privée? Il semble fonctionner parfaitement mais je ne le vois pas dans les docs.


Ce n'est pas une API privée, je viens d'utiliser des méthodes uiview pour animer une vue (m_container pour moi). Il vous suffit de copier des méthodes de contenu dans vos propres méthodes et de modifier M_Container à votre vue ...