Core Animation之CATransition和CAAnimationGroup
CATransition
- CATransition是CAAnimation的子類,用于做轉(zhuǎn)場(chǎng)動(dòng)畫(huà)
- 能為層提供移除屏幕和移入屏幕的動(dòng)畫(huà)效果
- UINavigationController就是通過(guò)CATransition實(shí)現(xiàn)了將控制器的試圖推入屏幕的動(dòng)畫(huà)效果
轉(zhuǎn)場(chǎng)動(dòng)畫(huà)的屬性
- type:過(guò)渡類型
- subtype:過(guò)渡方向
- startProgress:動(dòng)畫(huà)起點(diǎn)(在整體動(dòng)畫(huà)的百分比)
- endProgress:動(dòng)畫(huà)終點(diǎn)(在整體動(dòng)畫(huà)的百分比)
CATransition *anim = [CATransition animation];
anim.type = @"cube";
anim.subtype = kCATransitionFromLeft;
anim.duration = 0.5;
[_imageView.layer addAnimation:anim forKey:nil];
CAAnimationGroup
- 動(dòng)畫(huà)組也是CAAnimation的子類簿姨,可以保存一組動(dòng)畫(huà)對(duì)象
- CAAnimationGroup對(duì)象加入層之后巾表,組中所有動(dòng)畫(huà)可以同時(shí)并發(fā)執(zhí)行
動(dòng)畫(huà)組屬性
- animations:用來(lái)保存一組動(dòng)畫(huà)對(duì)象的NSArray
- beginTime:動(dòng)畫(huà)對(duì)象的開(kāi)始時(shí)間己莺。默認(rèn)是同時(shí)運(yùn)行的
// 旋轉(zhuǎn)
CABasicAnimation *rotation = [CABasicAnimation animation];
rotation.keyPath = @"transform.rotation";
rotation.toValue = @M_PI_2;
// 位移
CABasicAnimation *position = [CABasicAnimation animation];
position.keyPath = @"position";
position.toValue = [NSValue valueWithCGPoint:CGPointMake(100, 250)];
// 縮放
CABasicAnimation *scale = [CABasicAnimation animation];
scale.keyPath = @"transform.scale";
scale.toValue = @0.5;
CAAnimationGroup *group = [CAAnimationGroup animation];
group.animations = @[rotation,position,scale];
group.duration = 2;
// 取消反彈
group.removedOnCompletion = NO;
group.fillMode = kCAFillModeForwards;
[_redView.layer addAnimation:group forKey:nil];
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者