您的位置:首页 > 产品设计 > UI/UE

ios菜鸟之路:UIView简单的动画

2012-10-12 11:28 381 查看
#define kDuration 0.7

CATransition *animation = [CATransition
animation];
animation.delegate =
self;
animation.duration =
kDuration;

animation.timingFunction =
UIViewAnimationCurveEaseInOut;
//先慢后快

animation.timingFunction = UIViewAnimationCurveEaseInOut;

animation.fillMode = kCAFillModeForwards;

animation.type=kCATransitionReveal;//动画效果

animation.subtype=kCATransitionFromBottom;

NSUInteger green1 = [[self.view
subviews] indexOfObject:self.green];

NSUInteger blue1 = [[self.view
subviews] indexOfObject:self.blue];

[self.view
exchangeSubviewAtIndex:green1 withSubviewAtIndex:blue1];

[[self.view
layer] addAnimation:animation
forKey:@"animation"];

//各种动画效果

/*

kCATransitionFade;

kCATransitionMoveIn;

kCATransitionPush;z

kCATransitionReveal;

*/

/*

kCATransitionFromRight;

kCATransitionFromLeft;

kCATransitionFromTop;

kCATransitionFromBottom;

*/

//各种组合

animation.type = kCATransitionPush;

animation.subtype = kCATransitionFromRight;

[self.view.layer addAnimation:animation forKey:@"animation"];

CATransition Private API动画:

animation.type可以设定为以下效果

动画效果汇总:

/*

suckEffect(三角)

rippleEffect(水波抖动)

pageCurl(上翻页)

pageUnCurl(下翻页)

oglFlip(上下翻转)

cameraIris/cameraIrisHollowOpen/cameraIrisHollowClose (镜头快门,这一组动画是有效果,只是很难看,不建议使用

而以下为则黑名单:

spewEffect: 新版面在屏幕下方中间位置被释放出来覆盖旧版面.

- genieEffect: 旧版面在屏幕左下方或右下方被吸走, 显示出下面的新版面 (阿拉丁灯神?).

- unGenieEffect: 新版面在屏幕左下方或右下方被释放出来覆盖旧版面.

- twist: 版面以水平方向像龙卷风式转出来.

- tubey: 版面垂直附有弹性的转出来.

- swirl: 旧版面360度旋转并淡出, 显示出新版面.

- charminUltra: 旧版面淡出并显示新版面.

- zoomyIn: 新版面由小放大走到前面, 旧版面放大由前面消失.

- zoomyOut: 新版面屏幕外面缩放出现, 旧版面缩小消失.

- oglApplicationSuspend: 像按"home" 按钮的效果.

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: