У меня была эта странная проблема при попытке сделать анимацию пользовательского интерфейса между двумя представлениями в контроллере представления.
Когда он возвращается в главное меню, серая полоса быстро переходит от середины к низу.Это происходит с кнопкой «Назад» на втором экране, но это трудно увидеть.Таким образом, в основном части внутри представлений летают, а затем идут туда, где они должны быть, когда переход анимации завершен.
Я знаю, что этот код для анимации может выглядеть немного странно, но вот методвернуться в главное меню:
- (void)gotoMain_t{
NSLog(@"switch to main");
[UIView beginAnimations:nil context:NULL]; {
for(UIView *v in [containerView subviews]) {
v.frame = CGRectMake(0, 0, 1024, 768);
[UIView setAnimationDidStopSelector:@selector(removeT:finished:context:)];
}
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
MainMenu *mainMenu = [[MainMenu alloc] init];
mainMenu.frame = CGRectMake(-1024, 0, 1024, 768);
[containerView insertSubview:mainMenu atIndex:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:.4];
[UIView setAnimationDelegate:self];
[[self.view.subviews objectAtIndex:0] setFrame:CGRectMake(1024, 0, 1024, 768)];
mainMenu.frame = CGRectMake(0, 0, 1024, 768);
[mainMenu release];
}
[UIView commitAnimations];}
Есть идеи?Спасибо.