Просто чтобы повторить из цепочки комментариев, вы не должны удалять окно из его суперпредставления (технически у него нет суперпредставления, поэтому оно, вероятно, вызывает проблемы). И установка свойства rootViewController
окна должно поменять иерархию представлений, Очевидно, что рывок происходит от изменения свойства rootViewController
окна, поэтому, возможно, решение состоит в том, чтобы избежать использования этого свойства. Вот что я думаю должно быть достаточно для достижения этой цели:
-(void)flipToHelp {
HelpViewController *helpVariable = [[HelpViewController alloc] initWithNibName:@"HelpView" bundle:nil];
[UIView beginAnimations:@"flipview" context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:_window cache:YES];
[self.tabBarController removeFromSuperview];
[_window addSubview:helpVariable];
[UIView commitAnimations];
}