У меня возникла эта странная проблема при попытке сделать анимацию пользовательского интерфейса между двумя представлениями в контроллере представления.Strange UI View Animation Effect
Когда он возвращается в главное меню, серая полоса быстро переходит из середины в нижнюю. Это происходит с кнопкой «Назад» на втором экране, но это трудно понять. Таким образом, в основном части внутри представлений летают, а затем идут туда, где они должны быть, когда переход анимации закончен.
Я знаю, что этот код для анимации может выглядеть немного странно, но вот способ, чтобы вернуться в главное меню:
- (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];}
Любые идеи? Благодарю.
setAnimationDidStopSelector выглядит странно, это не ясно, что вы должны установить его внутри цикла, так как я думаю, что это только будет вызвана после commitAnimation. –
Что вы ожидаете? –
Я просто хочу, чтобы представление переместилось на другое в каждом направлении. Но вы понимаете, о чем я говорю? Серая полоса идет от середины к основанию без видимой причины. – VagueExplanation