在界面的跳转有两种方法,一种方法是先删除原来的界面,然后在插入新的界面:如下代码
-
if (self.rootViewController.view.superview == nil) {
-
[singleDollController.view removeFromSuperview];
-
[self.view insertSubview:rootViewController.view atIndex:0];
-
}
-
else {
-
[rootViewController.view removeFromSuperview];
-
[self.view insertSubview:singleDollController.view atIndex:0];
-
}
复制代码
使用这种方式无法实现界面跳转时的动画效果。
另一中方式为将跳转的界面的Controller放入到UINavigationController中,使用push或pop实现跳转:使用这种方式可用实现动画效果
-
navController = [[UINavigationController alloc]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:UIViewAnimationTransitionFlipFromLeft forView:self.navController.view cache:NO];
-
[self.navController pushViewController:self.singleDollView animated:NO];
-
[UIView commitAnimations];
复制代码