您好,登錄后才能下訂單哦!
一、轉場動畫接受
CAAnimation的子類,用于做轉場特效,可以為層做移入或移除屏幕的動畫效果。比如像UINavigationController就是使用的轉場動畫進行頁面的推出和進入的。
包含屬性:
type:動畫的過渡類型(以何種方式進行執行轉場動畫)
subtype:過渡方向
startProgress:起始點(在整體動畫的百分比)
endProgress:終結點(在整體動畫的百分比)
二、代碼示例
{
//創建轉場動畫實例
CATransition *CTAnima = [CATransition animation];
//設置過渡類型
CTAnima.type = @"cude";
//設置過渡方向
CTAnima.subtype = kCATransitionFromLeft; //從左邊開始執行轉場動畫
//動畫執行時間
CTAnima.duration = 1.0f;
//當然還可以設置起止點
CTAnima.startProgress = 0.5;
CTAnima.endProgress = 0.5;
//最后添加到指定的視圖上即可
[layer addAnimation:CTAnima forKey:nil];
}
三、組動畫簡單介紹
同樣是CAAnimation的子類,可以保存一組動畫的對象,將CAAnimationGroup加入層后,組中的所有動畫都會并發運行。
包含屬性:
animatitons:用來保存動畫的數組
默認的,一組動畫對象是同事運行的,也可以通過修改beginTime來設置開始的時間。
四、代碼示例
{
//先創建幾個不同的動畫
CABasicAnimation *b1 = [CABasicAnimation animation];
b1.keypath = @"position"; //平移
b1.byValue = [NSValue valueWithCGPoint:CGPointMake(200, 300)];
CABasicAnimation *b2 = [CABasicAnimation animation];
b2.keypath = @"bounds"; //縮放
b2.toValue =[NSValue valueWithCGRect:CGRectMake(0, 0, 200, 200)];
CABasicAnimation *b2 = [CABasicAnimation animation];
b2.keypath = @"transform"; //旋轉
b2.toValue =[NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI_4, 0, 0, 1)];
//然后把這些動畫放入數組里
CAAnimationGroup *CAnimaG = [CAAnimationGroup animation];
CAnimaG.animations = @[b1,b2,b3];
CAnimaG.duration = 2.0f;
CAnimaG.removeOnCompletion = NO;
CAnimaG.fillMode = kCAFillModeForwards;
//最后添加到指定的視圖上即可
[view.layer addAnimation:CAnimaG forKey:nil];
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。