Je souhaite que la barre de navigation se cache plus lentement que d'habitude.Changer la durée de l'animation
J'ai essayé ce qui suit, mais quand cacher, il disparaît instantanément au lieu de l'animation sur (le point de vue ci-après n'animer correctement):
[UIView beginAnimations:@"hideNavBar" context:nil];
[UIView setAnimationDuration:2.0];
[self.navigationController setNavigationBarHidden:value];
[UIView commitAnimations];
Si substitut I:
[self.navigationController setNavigationBarHidden:value animated:YES];
Ensuite, utilise la durée habituelle au lieu de ma version lente. Hmmph.
J'ai même essayé de vraiment rusé et faire:
CGFloat *durationRef = &UINavigationControllerHideShowBarDuration;
CGFloat oldDuration = *durationRef;
*durationRef = 2.0;
[self.navigationController setNavigationBarHidden:value animated:YES];
*durationRef = oldDuration;
Ce qui a donné lieu à un EXE _ _ BAD ACCESS sur la cession. Des idées?
En fin de compte j'ai décidé que reimplemebting UINavController ne valait pas le petit gain de l'élégance. Merci pour la réponse si. –
Je ne pense pas que cela fonctionne. –
Pourquoi pas? Vous êtes toujours libre de saisir les calques à l'écran et de commencer à attacher des animations. Pour référence, je l'ai fait en expérimentant, mais je n'ai jamais livré le code de production qui le fait. –