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];