第一次的接触到addChildViewController:(UIViewController *) 方法是在UITabBarController里面,后来才知道UIVIewContrller里面也有这个方法.
他的使用方法:
[self addChildViewController:vc];//向父控制器里面添加新的控制器
transitionFromViewController:vc3 toViewController:vc1 duration:1 options:UIViewAnimationOptionTransitionFlipFromLeft animations:{}completion:{}//实现控制之间的切换,比且可以控制转换的效果,和动画效果
[vc3 removeFromParentViewController];//将子控制起从父控制器中移除,
使用:
新建我们的控制器,将它加入到父VC
UIViewController *vc=[[UIViewController alloc] init];
[self addChildViewController:vc];
...
选择一个作为当前的现实VC
[self.view addSubview:vc3.view];
之后调用:transitionFromViewController:进行切换就可以了
[self transitionFromViewController:vc3 toViewController:vc1 duration:1 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
NSLog(@"ing..");
} completion:^(BOOL finished) {
NSLog(@"end");
}];
这样实现起来的控制器切换效果一般.