核心動(dòng)畫(三)

轉(zhuǎn)場(chǎng)動(dòng)畫

一、CATransition簡(jiǎn)介

  • CATransition是CAAnimation的子類,用于做轉(zhuǎn)場(chǎng)動(dòng)畫,能夠?yàn)閷犹峁┮瞥銎聊缓鸵迫肫聊坏膭?dòng)畫效果。iOS比Mac OS X的轉(zhuǎn)場(chǎng)動(dòng)畫效果少一點(diǎn)
  • UINavigationController就是通過CATransition實(shí)現(xiàn)了將控制器的視圖推入屏幕的動(dòng)畫效果
  • 動(dòng)畫屬性:
    • type:動(dòng)畫過渡類型
    • subtype:動(dòng)畫過渡方向
    • startProgress:動(dòng)畫起點(diǎn)(在整體動(dòng)畫的百分比)
    • endProgress:動(dòng)畫終點(diǎn)(在整體動(dòng)畫的百分比)

二、轉(zhuǎn)場(chǎng)動(dòng)畫的過渡效果

見圖

使用UIView動(dòng)畫函數(shù)實(shí)現(xiàn)轉(zhuǎn)場(chǎng)動(dòng)畫——單視圖

+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
  • 參數(shù)說明:
    • duration:動(dòng)畫的持續(xù)時(shí)間
    • view:需要進(jìn)行轉(zhuǎn)場(chǎng)動(dòng)畫的視圖
    • options:轉(zhuǎn)場(chǎng)動(dòng)畫的類型
    • animations:將改變視圖屬性的代碼放在這個(gè)block中
    • completion:動(dòng)畫結(jié)束后,會(huì)自動(dòng)調(diào)用這個(gè)block

使用UIView動(dòng)畫函數(shù)實(shí)現(xiàn)轉(zhuǎn)場(chǎng)動(dòng)畫——雙視圖

+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion;
  • 參數(shù)說明:
    • duration:動(dòng)畫的持續(xù)時(shí)間
    • options:轉(zhuǎn)場(chǎng)動(dòng)畫的類型
    • animations:將改變視圖屬性的代碼放在這個(gè)block中
    • completion:動(dòng)畫結(jié)束后,會(huì)自動(dòng)調(diào)用這個(gè)block

三、CADisplayLink

  • CADisplayLink是一種以屏幕刷新頻率觸發(fā)的時(shí)鐘機(jī)制,每秒鐘執(zhí)行大約60次左右

  • CADisplayLink是一個(gè)計(jì)時(shí)器,可以使繪圖代碼與視圖的刷新頻率保持同步,而NSTimer無法確保計(jì)時(shí)器實(shí)際被觸發(fā)的準(zhǔn)確時(shí)間

  • 使用方法:

    • 定義CADisplayLink并制定觸發(fā)調(diào)用方法
    • 將顯示鏈接添加到主運(yùn)行循環(huán)隊(duì)列
  • 示例:

- (CADisplayLink *)link
{
    if (_link == nil) {
        _link = [CADisplayLink displayLinkWithTarget:self selector:@selector(rotationChange)];

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

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

  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜,今天將帶大家一窺ios動(dòng)畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,690評(píng)論 6 30
  • Core Animation Core Animation,中文翻譯為核心動(dòng)畫,它是一組非常強(qiáng)大的動(dòng)畫處理API,...
    45b645c5912e閱讀 3,157評(píng)論 0 21
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜,今天將帶大家一窺iOS動(dòng)畫全貌。在這里你可以看...
    F麥子閱讀 5,270評(píng)論 5 13
  • 在iOS實(shí)際開發(fā)中常用的動(dòng)畫無非是以下四種:UIView動(dòng)畫,核心動(dòng)畫,幀動(dòng)畫,自定義轉(zhuǎn)場(chǎng)動(dòng)畫。 1.UIView...
    請(qǐng)叫我周小帥閱讀 3,323評(píng)論 1 23
  • 茫茫人生,或有一人。陷其所愛,忘乎所以。不問初心,不為相期,不望相守,不許相依。只愿爛漫時(shí),與子共相棲。 你真的愛...
    小花_閱讀 1,478評(píng)論 6 1

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