需求:只有登录成功后才能看到App tabbar界面的详情。
我的做法是,登录界面设置成入口控制器。
登录验证成功之后,在登录控制器代码里切换根控制器。被动的界面切换。
UIStoryboard * MainSb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
[UIApplication sharedApplication].keyWindow.rootViewController = [MainSb instantiateInitialViewController];
之后发现直接presentViewController就可以实现跳转。
[self presentViewController:[MainSb instantiateInitialViewController]
animated:NO completion:nil];
然后发现界面跳转的时候 通过CALayer下的CATransition动画可以实现一些界面跳转的动画。
MyViewController *myVC = [[MyViewController alloc]init];
//创建动画
CATransition *animation = [CATransition animation];
//设置运动轨迹的速度
animation.timingFunction = UIViewAnimationCurveEaseInOut;
//设置动画类型为立方体动画
animation.type = @"cube";
//设置动画时长
animation.duration =0.5f;
//设置运动的方向
animation.subtype =kCATransitionFromRight;
//控制器间跳转动画
[[UIApplication sharedApplication].keyWindow.layer addAnimation:animation forKey:@"animation"];
[self presentViewController:myVC animated:NO completion:nil];
下面附上一些常用的动画类型:
Fade = 1, //淡入淡出
Push, //推挤
Reveal, //揭开
MoveIn, //覆盖
Cube, //立方体
SuckEffect, //吮吸
OglFlip, //翻转
RippleEffect, //波纹
PageCurl, //翻页
PageUnCurl, //反翻页
CameraIrisHollowOpen, //开镜头
CameraIrisHollowClose, //关镜头
CurlDown, //下翻页
CurlUp, //上翻页
FlipFromLeft, //左翻转
FlipFromRight, //右翻转