跳轉(zhuǎn)動(dòng)畫
CA翻轉(zhuǎn)動(dòng)畫
//動(dòng)畫設(shè)置代碼
//CA動(dòng)畫
CATransition * animation = [CATransition animation];
[animation setDuration:3];
/*
pageCurl 向上翻頁(yè)
pageUnCurl 向下翻頁(yè)
cube 立方體轉(zhuǎn)換
rippleEffect 水紋波動(dòng)
suckEffect 收縮效果
oglFilp 上下翻轉(zhuǎn)效果
*/
[animation setType:@"cube"];
[animation setSubtype:kCATransitionFromRight];
[self.view.window.layer addAnimation:animation forKey:@"push"];
//界面推送代碼
[self presentViewController:loginVC animated:YES completion:nil];
執(zhí)行動(dòng)畫
動(dòng)畫1
[UIView animateWithDuration:0.5 animations:^{
//動(dòng)作執(zhí)行0.5s
self.frame=CGRectMake(0, HEIGHT_FOR_SCREEN, WIDTH_FOR_SCREEN, 260);
} completion:^(BOOL finished) {
//執(zhí)行完畢后執(zhí)行該步內(nèi)容
[self removeFromSuperview];
}];
CA彈簧動(dòng)畫
//縱向平滑移動(dòng)
CASpringAnimation * spring = [CASpringAnimation animationWithKeyPath:@"position.y"];
spring.damping = 5;//阻尼系數(shù)0~10
spring.stiffness = 100;//彈簧剛度系數(shù) 0 到 100 系數(shù)越大力就越大
spring.mass = 1;//彈簧末端的質(zhì)量 大于0質(zhì)量越大彈性就越大
spring.initialVelocity = 0;//速度
spring.fromValue = @(self.annotationView.layer.position.y);//起始的位置
spring.toValue = @(self.annotationView.layer.position.y + 10);//結(jié)束位置
spring.duration = spring.settlingDuration;//結(jié)束時(shí)間
[self.annotationView.layer addAnimation:spring forKey:spring.keyPath];
//self.annotationView這里是地圖上的標(biāo)注,具體根據(jù)要求更改
//position.y + 10為滑動(dòng)的縱坐標(biāo)終點(diǎn)师枣。同理怪瓶,橫向移動(dòng)為position.x。
mass:
質(zhì)量践美,影響圖層運(yùn)動(dòng)時(shí)的彈簧慣性洗贰,質(zhì)量越大,彈簧拉伸和壓縮的幅度越大陨倡。如果把質(zhì)量改成10敛滋,則動(dòng)畫的速度變慢,并且波動(dòng)幅度變大兴革。stiffness:
剛度系數(shù)(勁度系數(shù)/彈性系數(shù))绎晃,剛度系數(shù)越大,形變產(chǎn)生的力就越大杂曲,運(yùn)動(dòng)越快damping:
阻尼系數(shù)庶艾,阻止彈簧伸縮的系數(shù),阻尼系數(shù)越大擎勘,停止越快initialVelocity:
初始速率咱揍,動(dòng)畫視圖的初始速度大小
速率為正數(shù)時(shí),速度方向與運(yùn)動(dòng)方向一致棚饵,速率為負(fù)數(shù)時(shí)煤裙,速度方向與運(yùn)動(dòng)方向相反
如果把速率改成-20掩完,則會(huì)看到 label 先往左邊移動(dòng)一小段距離,然后再開(kāi)始往右移動(dòng)硼砰,因?yàn)槌跏妓俣韧笄遗睿詴?huì)經(jīng)歷先減速,后加速的過(guò)程settlingDuration:
結(jié)算時(shí)間 返回彈簧動(dòng)畫到停止時(shí)的估算時(shí)間夺刑,根據(jù)當(dāng)前的動(dòng)畫參數(shù)估算
通常彈簧動(dòng)畫的時(shí)間使用結(jié)算時(shí)間比較準(zhǔn)確
其他動(dòng)畫
參考文章:CASpringAnimation 和 UIView.animateWithDuration 分別實(shí)現(xiàn)彈性動(dòng)畫缅疟、iOS9 CASpringAnimation 彈簧動(dòng)畫詳解