Spring動畫
Spring動畫是一種特殊的動畫曲線,自從iOS7之後開始被廣泛應用在系統動畫中。所謂的Spring動畫就是動畫在執行的過程中會有一個放大的效果,然後在回去。 建立Spring動畫用到了下面的一個方法
- (void)springAnimation{
//Damping:阻尼值0 - 1、阻尼值越小動畫越明顯
//Velocity:初始速度
[UIView animateWithDuration:2.0 delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:20
options:UIViewAnimationOptionRepeat animations:^{
self.redView.frame = CGRectMake(100, 300, 200, 200);
self.redView.backgroundColor =[UIColor blackColor];
} completion:nil];
}
複製程式碼
Block動畫
Block簡單動畫
示例:在Block的回撥方法內改變動畫的顏色
[UIView animateWithDuration:5 animations:^{
//需要改變的屬性
self.redView.backgroundColor = [UIColor cyanColor];
}];
複製程式碼
Block複雜動畫
相比較Block的簡單動畫來說Block的複雜動畫能夠在動畫完成後,對動畫做一些其他的操作 示例:在動畫過程中改變將檢視的顏色改為黃色,在動畫結束的時候將檢視的顏色改為紅色。
[UIView animateWithDuration:2.0 animations:^{
self.redView.backgroundColor = [UIColor yellowColor];
} completion:^(BOOL finished) {
if (finished) {//動畫結束
self.redView.backgroundColor = [UIColor redColor];
}
}];
複製程式碼
GIF動圖
簡單來說,gif圖片就是將一組圖片放在一起,以極快的速度切換圖片,這樣就能實現一個動畫的效果。西面來看具體的做法。
- 首先,我們建立一個可變陣列把我們需要用到的圖象儲存起來。
NSMutableArray *imageArray = [NSMutableArray array];
for (int i = 1; i < 14; i++) {
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"1-%d.tiff",i]];
[imageArray addObject:image];
}
複製程式碼
- 然後建立一個imageView來顯示圖片
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)];
imageView.center = self.view.center;
imageView.animationImages = imageArray;
imageView.animationDuration = 0.5;//動畫執行的時間
imageView.animationRepeatCount = 10;//動畫重複次數
[self.view addSubview:_imageView];//開啟動畫
[imageView startAnimating];
複製程式碼
在實際使用的過程中,通常我們會在不同的地方,來執行動畫屬性的操作,具體情況按照需求來實現。