詳解IOS圖層轉(zhuǎn)場(chǎng)動(dòng)畫
CAAnimation的子類,用于做轉(zhuǎn)場(chǎng)動(dòng)畫,能夠?yàn)閷犹峁┮瞥銎聊缓鸵迫肫聊坏膭?dòng)畫效果。iOS比Mac OS X的轉(zhuǎn)場(chǎng)動(dòng)畫效果少一點(diǎn)
UINavigationController就是通過(guò)CATransition實(shí)現(xiàn)了將控制器的視圖推入屏幕的動(dòng)畫效果
屬性解析:
- type:動(dòng)畫過(guò)渡類型
- subtype:動(dòng)畫過(guò)渡方向
- startProgress:動(dòng)畫起點(diǎn)(在整體動(dòng)畫的百分比)
- endProgress:動(dòng)畫終點(diǎn)(在整體動(dòng)畫的百分比)
具體代碼:
/* 過(guò)渡效果 fade //交叉淡化過(guò)渡(不支持過(guò)渡方向) kCATransitionFade push //新視圖把舊視圖推出去 kCATransitionPush moveIn //新視圖移到舊視圖上面 kCATransitionMoveIn reveal //將舊視圖移開(kāi),顯示下面的新視圖 kCATransitionReveal cube //立方體翻滾效果 oglFlip //上下左右翻轉(zhuǎn)效果 suckEffect //收縮效果,如一塊布被抽走(不支持過(guò)渡方向) rippleEffect //滴水效果(不支持過(guò)渡方向) pageCurl //向上翻頁(yè)效果 pageUnCurl //向下翻頁(yè)效果 cameraIrisHollowOpen //相機(jī)鏡頭打開(kāi)效果(不支持過(guò)渡方向) cameraIrisHollowClose //相機(jī)鏡頭關(guān)上效果(不支持過(guò)渡方向) */ /* 過(guò)渡方向 kCATransitionFromRight kCATransitionFromLeft kCATransitionFromBottom //轉(zhuǎn)場(chǎng)動(dòng)畫--》是針對(duì)某個(gè)view的圖層進(jìn)行轉(zhuǎn)場(chǎng)動(dòng)畫 #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; } //轉(zhuǎn)場(chǎng)動(dòng)畫--就是對(duì)某個(gè)view進(jìn)行動(dòng)畫切換。 //1:如果是控制器之間的切換,其實(shí)window上view進(jìn)行切換 CATransition *transion=[CATransition animation]; //設(shè)置轉(zhuǎn)場(chǎng)動(dòng)畫的類型 transion.type=@"pageCurl"; //設(shè)置轉(zhuǎn)場(chǎng)動(dòng)畫的方向 transion.subtype=@"fromLeft"; //把動(dòng)畫添加到某個(gè)view的圖層上 [self.view.layer addAnimation:transion forKey:nil]; }
控制器直接切換動(dòng)畫
UIApplication *app=[UIApplication sharedApplication]; AppDelegate *dd=app.delegate; MyViewController *my=[[MyViewController alloc] init]; //切換根控制器,其實(shí)把視圖控制器的view在window上切換。所以在轉(zhuǎn)場(chǎng)動(dòng)畫要作用在window上 dd.window.rootViewController=my; CATransition *trans=[CATransition animation]; trans.type=@"pageCurl"; trans.subtype=@"fromTop"; [dd.window.layer addAnimation:trans forKey:nil]; [my release];
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- IOS實(shí)戰(zhàn)之自定義轉(zhuǎn)場(chǎng)動(dòng)畫詳解
- 詳解iOS開(kāi)發(fā)中的轉(zhuǎn)場(chǎng)動(dòng)畫和組動(dòng)畫以及UIView封裝動(dòng)畫
- IOS輕松幾步實(shí)現(xiàn)自定義轉(zhuǎn)場(chǎng)動(dòng)畫
- 實(shí)例講解iOS中的CATransition轉(zhuǎn)場(chǎng)動(dòng)畫使用
- 深入學(xué)習(xí)iOS7自定義導(dǎo)航轉(zhuǎn)場(chǎng)動(dòng)畫
- iOS實(shí)現(xiàn)類似格瓦拉電影的轉(zhuǎn)場(chǎng)動(dòng)畫
- IOS登錄頁(yè)面動(dòng)畫、轉(zhuǎn)場(chǎng)動(dòng)畫開(kāi)發(fā)詳解
- iOS swift實(shí)現(xiàn)轉(zhuǎn)場(chǎng)動(dòng)畫的方法示例
- iOS如何自定義控制器轉(zhuǎn)場(chǎng)動(dòng)畫push詳解
- iOS實(shí)現(xiàn)轉(zhuǎn)場(chǎng)動(dòng)畫的3種方法示例
相關(guān)文章
iOS利用NSAttributedString實(shí)現(xiàn)圖文混排效果示例
iOS7以后,因?yàn)門extKit的強(qiáng)大,可以用NSAttributedString很方便的實(shí)現(xiàn)圖文混排(主要是利用了NSTextAttachment),所以下面這篇文章主要給大家介紹了關(guān)于iOS利用NSAttributedString實(shí)現(xiàn)圖文混排效果的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-10-10IOS 屏幕適配方案實(shí)現(xiàn)縮放window的示例代碼
這篇文章主要介紹了IOS 屏幕適配方案實(shí)現(xiàn)縮放window的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04舉例詳解iOS開(kāi)發(fā)過(guò)程中的沙盒機(jī)制與文件
這篇文章主要介紹了舉例詳解iOS開(kāi)發(fā)過(guò)程中的沙盒機(jī)制與文件,示例代碼為傳統(tǒng)的Obejective-C,需要的朋友可以參考下2015-09-09關(guān)于iOS 11的一些新特性適配實(shí)踐總結(jié)
iOS 11 為整個(gè)生態(tài)系統(tǒng)的 UI 元素帶來(lái)了一種更加大膽、動(dòng)態(tài)的新風(fēng)格。下面這篇文章主要給大家總結(jié)介紹了關(guān)于iOS 11的一些新特性適配實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-11-11iOS 設(shè)置UILabel的行間距并自適應(yīng)高度的方法
下面小編就為大家?guī)?lái)一篇iOS 設(shè)置UILabel的行間距并自適應(yīng)高度的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04iOS使用Target如何快速科學(xué)的區(qū)分開(kāi)發(fā)環(huán)境詳解
這篇文章主要給大家介紹了關(guān)于iOS使用Target如何快速科學(xué)的區(qū)分開(kāi)發(fā)環(huán)境的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12iOS開(kāi)發(fā)之如何獲取視圖在屏幕中顯示的位置
這篇文章主要給大家介紹了關(guān)于iOS開(kāi)發(fā)之如何獲取視圖在屏幕上顯示的位置,以及ios 獲取控件相對(duì)屏幕的位置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11