Facebook Pop概述

2018-09-19 10:25 更新

概述

Pop是一個(gè)動(dòng)畫引擎,用以擴(kuò)展iOS、OSX的動(dòng)畫類型。相較于iOS、OSX中的基本動(dòng)畫效果,Pop擴(kuò)展后支持彈簧動(dòng)畫效果與衰減動(dòng)畫效果,你可以用Pop動(dòng)畫引擎來構(gòu)建出真實(shí)的物理交互效果。它的API與Core Animation的API非常類似,使用起來非常容易。Pop動(dòng)畫引擎已經(jīng)經(jīng)過了良好的測試,F(xiàn)acebook在 Paper 應(yīng)用中進(jìn)行了大量使用。

安裝

Pop支持 CocoaPods 安裝,將下面一行代碼添加到你的項(xiàng)目中的 Podfile 中:

    pod 'pop', '~> 1.0'

注意,bug會(huì)在主分支上面進(jìn)行修復(fù),然后在指定的分支上進(jìn)行發(fā)布。如果你喜歡嘗試最新的不大穩(wěn)定的版本,你可以通過以下入口來訪問主分支:

    pod 'pop', :git => 'https://github.com/facebook/pop.git'

使用

Pop 支持Core Animation 中的顯式動(dòng)畫類型,你可以通過導(dǎo)入頭文件來使用它:

    #import <pop/POP.h>

開始動(dòng)畫、停止動(dòng)畫與更新動(dòng)畫

開始執(zhí)行一個(gè)動(dòng)畫,你可以將動(dòng)畫添加到一個(gè)對(duì)象中:

POPSpringAnimation *anim = [POPSpringAnimation animation];

[layer pop_addAnimation:anim forKey:@"myKey"];

停止一個(gè)動(dòng)畫,你可以根據(jù)一個(gè)鍵值來從對(duì)象中移除掉:

[layer pop_removeAnimationForKey:@"myKey"];

你也可以根據(jù)鍵值來查詢已經(jīng)存在的動(dòng)畫,你可以在執(zhí)行動(dòng)畫效果的同時(shí)來修改toValue屬性來實(shí)時(shí)更新動(dòng)畫效果:

anim = [layer pop_animationForKey:@"myKey"];
if (anim) {
  /* update to value to new destination */
  anim.toValue = @(42.0);
} else {
  /* create and start a new animation */
  ....
}

注意,雖然上述示例中用到了一個(gè)layer,但是Pop動(dòng)畫引擎是基于 NSObject 所寫的一個(gè)category,任何繼承自NSObject的對(duì)象都可以使用Pop動(dòng)畫引擎。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)