詳解IOS圖層轉場動畫
更新時間:2016年02月14日 15:33:16 投稿:lijiao
這篇文章主要為大家詳細介紹了IOS圖層轉場動畫, CATransition類實現(xiàn)層的轉場動畫,能夠為層提供移出屏幕和移入屏幕的動畫效果,感興趣的小伙伴們可以參考一下
CAAnimation的子類,用于做轉場動畫,能夠為層提供移出屏幕和移入屏幕的動畫效果。iOS比Mac OS X的轉場動畫效果少一點
UINavigationController就是通過CATransition實現(xiàn)了將控制器的視圖推入屏幕的動畫效果
屬性解析:
- type:動畫過渡類型
- subtype:動畫過渡方向
- startProgress:動畫起點(在整體動畫的百分比)
- endProgress:動畫終點(在整體動畫的百分比)
具體代碼:
/* 過渡效果
fade //交叉淡化過渡(不支持過渡方向) kCATransitionFade
push //新視圖把舊視圖推出去 kCATransitionPush
moveIn //新視圖移到舊視圖上面 kCATransitionMoveIn
reveal //將舊視圖移開,顯示下面的新視圖 kCATransitionReveal
cube //立方體翻滾效果
oglFlip //上下左右翻轉效果
suckEffect //收縮效果,如一塊布被抽走(不支持過渡方向)
rippleEffect //滴水效果(不支持過渡方向)
pageCurl //向上翻頁效果
pageUnCurl //向下翻頁效果
cameraIrisHollowOpen //相機鏡頭打開效果(不支持過渡方向)
cameraIrisHollowClose //相機鏡頭關上效果(不支持過渡方向)
*/
/* 過渡方向
kCATransitionFromRight
kCATransitionFromLeft
kCATransitionFromBottom
//轉場動畫--》是針對某個view的圖層進行轉場動畫
#import "ViewController.h"
#import <QuartzCore/QuartzCore.h>
@interface ViewController ()
{
UIView *_lastview;
BOOL flag;
}
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
flag=true;
UIView *view=[[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
view.backgroundColor=[UIColor redColor];
[self.view addSubview:view];
[view release];
_lastview=view;
// Do any additional setup after loading the view, typically from a nib.
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
if(flag){
_lastview.backgroundColor=[UIColor yellowColor];
flag=false;
}
else{
_lastview.backgroundColor=[UIColor redColor];
flag=true;
}
//轉場動畫--就是對某個view進行動畫切換。
//1:如果是控制器之間的切換,其實window上view進行切換
CATransition *transion=[CATransition animation];
//設置轉場動畫的類型
transion.type=@"pageCurl";
//設置轉場動畫的方向
transion.subtype=@"fromLeft";
//把動畫添加到某個view的圖層上
[self.view.layer addAnimation:transion forKey:nil];
}
控制器直接切換動畫
UIApplication *app=[UIApplication sharedApplication];
AppDelegate *dd=app.delegate;
MyViewController *my=[[MyViewController alloc] init];
//切換根控制器,其實把視圖控制器的view在window上切換。所以在轉場動畫要作用在window上
dd.window.rootViewController=my;
CATransition *trans=[CATransition animation];
trans.type=@"pageCurl";
trans.subtype=@"fromTop";
[dd.window.layer addAnimation:trans forKey:nil];
[my release];
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。
相關文章
iOS App開發(fā)中的UIPageControl分頁控件使用小結
UIPageControl分頁控件的例子簡單來說即是我們平時翻動多個桌面頁時及底部帶有的圓點頁碼標注,這里我們來看一下iOS App開發(fā)中的UIPageControl分頁控件使用小結,需要的朋友可以參考下2016-06-06
Objective-C中NSNumber與NSDictionary的用法簡介
這篇文章主要介紹了Objective-C中NSNumber與NSDictionary的用法簡介,雖然Objective-C即將不再是iOS的主流開發(fā)語言...well,需要的朋友可以參考下2015-09-09
解決SDK注入權限驗證安卓正常,IOS出現(xiàn)config fail的方法
這篇文章主要介紹了解決SDK注入權限驗證安卓正常,IOS出現(xiàn)config fail的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06
iOS經(jīng)驗之初始化方法中不該設置self.view的屬性淺析
這篇文章主要給大家介紹了關于iOS經(jīng)驗之初始化方法中不該設置self.view的屬性的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧2018-09-09

