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

50.转场动画 组动画 UIView的转场动画

2015-06-07 23:40 489 查看
转场动画:
// 1.创建核心动画
CATransition *ca = [CATransition animation];
// 1.1动画过渡类型
ca.type = @"cube";
// 1.2动画过渡方向
ca.subtype =  kCATransitionFromRight;
// 1.3动画起点(在整体动画的百分比)
//ca.startProgress = 0.5;
ca.endProgress = 0.5;

// 动画时间
ca.duration = 1;

// 2.添加核心动画
[self.iconView.layer addAnimation:ca forKey:nil];


组动画:
// 平移动画
CABasicAnimation *a1 = [CABasicAnimation animation];
a1.keyPath = @"transform.translation.y";
a1.toValue = @(100);
// 缩放动画
CABasicAnimation *a2 = [CABasicAnimation animation];
a2.keyPath = @"transform.scale";
a2.toValue = @(0.0);
// 旋转动画
CABasicAnimation *a3 = [CABasicAnimation animation];
a3.keyPath = @"transform.rotation";
a3.toValue = @(M_PI_2);

// 组动画
CAAnimationGroup *groupAnima = [CAAnimationGroup animation];

groupAnima.animations = @[a1, a2, a3];

groupAnima.duration = 2;
groupAnima.fillMode = kCAFillModeForwards;
groupAnima.removedOnCompletion = NO;

[self.iconView.layer addAnimation:groupAnima forKey:nil];


UIView的转场动画
[UIView transitionWithView:self.view duration:1.0 options:0 animations:^{
NSLog(@"animations");
// 要执行的动画
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];

} completion:^(BOOL finished) {
NSLog(@"completion");
// 执行完毕之后执行的动画
}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: