J'ai une transition de travail utilisant uiviewanimationTranstitionCurlup code> 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? P>
4 Réponses :
Je ne sais pas si cela fonctionnera, mais le paramètre sur + setanimationrepeatcount: code> peut être une fraction. p>
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 em> , mais vous serez rejeté de l'App Store pour l'utiliser. P>
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.
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;
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>
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]; ;} ]; }
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 ...