iOS 動畫效果小結(jié)

跳轉(zhuǎn)動畫

CA翻轉(zhuǎn)動畫

//動畫設(shè)置代碼
//CA動畫
    CATransition * animation = [CATransition animation];
    [animation setDuration:3];
    /*
     pageCurl 向上翻頁
     pageUnCurl 向下翻頁
     cube 立方體轉(zhuǎn)換
     rippleEffect 水紋波動
     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í)行動畫

動畫1


[UIView animateWithDuration:0.5 animations:^{
        //動作執(zhí)行0.5s
        self.frame=CGRectMake(0, HEIGHT_FOR_SCREEN, WIDTH_FOR_SCREEN, 260);
    } completion:^(BOOL finished) {
        //執(zhí)行完畢后執(zhí)行該步內(nèi)容
        [self removeFromSuperview];
    }];

CA彈簧動畫

    //縱向平滑移動

    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é)束時間

    [self.annotationView.layer addAnimation:spring forKey:spring.keyPath];

    //self.annotationView這里是地圖上的標(biāo)注,具體根據(jù)要求更改

    //position.y + 10為滑動的縱坐標(biāo)終點。同理,橫向移動為position.x。

  1. mass:
    質(zhì)量,影響圖層運動時的彈簧慣性,質(zhì)量越大,彈簧拉伸和壓縮的幅度越大。如果把質(zhì)量改成10,則動畫的速度變慢,并且波動幅度變大。

  2. stiffness:
    剛度系數(shù)(勁度系數(shù)/彈性系數(shù)),剛度系數(shù)越大,形變產(chǎn)生的力就越大,運動越快

  3. damping:
    阻尼系數(shù),阻止彈簧伸縮的系數(shù),阻尼系數(shù)越大,停止越快

  4. initialVelocity:
    初始速率,動畫視圖的初始速度大小
    速率為正數(shù)時,速度方向與運動方向一致,速率為負數(shù)時,速度方向與運動方向相反
    如果把速率改成-20,則會看到 label 先往左邊移動一小段距離,然后再開始往右移動,因為初始速度往左,所以會經(jīng)歷先減速,后加速的過程

  5. settlingDuration:
    結(jié)算時間 返回彈簧動畫到停止時的估算時間,根據(jù)當(dāng)前的動畫參數(shù)估算
    通常彈簧動畫的時間使用結(jié)算時間比較準確

其他動畫

參考文章:CASpringAnimation 和 UIView.animateWithDuration 分別實現(xiàn)彈性動畫、iOS9 CASpringAnimation 彈簧動畫詳解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容