Facebook開源動畫庫 POP-POPBasicAnimation運(yùn)用
http://www.cnblogs.com/wujy/p/5191220.html
動畫在APP開發(fā)過程中還是經(jīng)常出現(xiàn)酬凳,將花幾天的時間對Facebook開源動畫庫 POP進(jìn)行簡單的學(xué)習(xí)摩泪;本文主要針對的是POPBasicAnimation運(yùn)用濒生;實(shí)例源代碼已經(jīng)上傳至gitHub,地址:https://github.com/wujunyang/facebookPopTest
Pop Github : https://github.com/facebook/pop
Pop比較全的實(shí)例:https://github.com/kevinzhow/pop-handapp
Popping -Pop案例 : https://github.com/schneiderandre/popping
心跳案例POP:https://github.com/hanzhen/MiniMatch-iOS
POP使用教程: https://github.com/maxmyers/FacebookPop
POP默認(rèn)支持三種動畫 但同時也支持自定義動畫
POPBasicAnimation //基本動畫
POPSpringAnimation //類似彈簧一般的動畫效果
POPDecayAnimation //過阻尼效果,衰減效果
POPCustomAnimation //自定義動畫
一:POPBasicAnimation運(yùn)用
實(shí)例1:創(chuàng)建一個動畫效果,關(guān)于視圖透明度的變化,從全透明經(jīng)過五秒的時間變成alpha為1的不透明效果;此處運(yùn)用到的POPBasicAnimation類;
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor=[UIColor whiteColor];//1:初始化一個視圖塊if(self.myView==nil) {
self.myView=[[UIView alloc]initWithFrame:CGRectMake(100,100,100,100)];
self.myView.backgroundColor=[UIColor redColor];
self.myView.alpha=0;
[self.view addSubview:self.myView];
}//創(chuàng)建一個POPBasicAnimation動畫POPBasicAnimation *basicAnimation=[POPBasicAnimation animationWithPropertyNamed:kPOPViewAlpha];
basicAnimation.fromValue=@(0);
basicAnimation.toValue=@(1);
basicAnimation.duration=5;//設(shè)置動畫的間隔時間 默認(rèn)是0.4秒
basicAnimation.repeatCount=HUGE_VALF;//重復(fù)次數(shù) HUGE_VALF設(shè)置為無限次重復(fù)
[self.myView pop_addAnimation:basicAnimation forKey:@"myViewAnimation"];
}
其實(shí)POP創(chuàng)建動畫的步驟分為三步碱璃,a:創(chuàng)建相應(yīng)的動畫類 b:增加相應(yīng)的屬性 c:附加到相應(yīng)的對象上;
上面實(shí)例中kPOPViewAlpha是POP為我們封裝好的一個關(guān)于透明度的動畫效果饭入;加上屬性就滿足我們的要求嵌器;從而也引出POP中一個很關(guān)鍵的類POPAnimatableProperty,里面定義的一些常量在今后的運(yùn)用中非常關(guān)鍵谐丢;