Dans le code suivant, il y a 2 méthodes qui s'appellent l'une après l'autre. Le premier fait disparaître le bouton central et le second fait disparaître la barre d'onglets. Séparément, ils fonctionnent bien. Mon problème est que lorsque j'essaie de les appeler l'un après l'autre hideCenterButton
ne s'anime pas. Au lieu de rouler à gauche de l'écran, le bouton disparaît.Essayer de faire fonctionner 2 animations simultanément
-(void)hideCenterButton:(BOOL)animated
{
if(animated){
[UIView animateWithDuration:0.3
delay:0.0f
options:UIViewAnimationCurveLinear
animations:^{
CGRect frame = self.centerButton.frame;
frame.origin.x = -100;
self.centerButton.frame = frame;
}
completion:^(BOOL finished){
}];
}}
...
- (void)hideTabBar:(UITabBarController *) tabbarcontroller
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
//[UIView setAnimationDelay:1];
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]] || [view isKindOfClass:[UIImageView class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}
[UIView commitAnimations];
}
Ne pas abuser de l'étiquette de code x. – yinkou