ios的两种界面跳转方式

1、在界面的跳转有两种方法,一种方法是先删除原来的界面,然后在插入新的界面,使用这种方式无法实现界面跳转时的动画效果。

if(self.rootViewController.view.superview == nil){
       [singleDollController.view removeFromSuperview];
       [self.view insertSubview:rootViewController.view atIndex:0];
}
else{
       [singleDollController.view removeFromSuperView];
       [self.view insertSubview:singleDollController.view atIndex:0];
}

2、将跳转的界面的Controller放入到UINavigationController中,使用push或pop实现跳转,使用这种方式可用实现动画效果。

navController= [[UINavigationControlleralloc]init];
[navController setNavigationBarHidden:YES];
[window addSubview:navController.view];
rootView= [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
[navController pushViewController:rootView animated:NO];
 
self.singleDollView= view;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.navController.view cache:NO];
[self.navController pushViewController:self.singleDollView animated:NO];
[UIView commitAnimations];