日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS - Core Animation 核心动画

發(fā)布時間:2023/12/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS - Core Animation 核心动画 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、UIView 動畫

  • 具體講解見 iOS - UIView 動畫

2、UIImageView 動畫

  • 具體講解見 iOS - UIImageView 動畫

3、CADisplayLink 定時器

  • 具體講解見 iOS - OC NSTimer 定時器

  • CADisplayLink 是一個能讓我們以和屏幕刷新率相同的頻率將內(nèi)容畫到屏幕上的定時器。我們在應(yīng)用中創(chuàng)建一個新的 CADisplayLink 對象,把它添加到一個 runloop 中,并給它提供一個 target 和 selector 在屏幕刷新的時候調(diào)用。

  • CADisplayLink 使用場合相對專一,適合做 UI 的不停重繪,比如自定義動畫引擎或者視頻播放的渲染。NSTimer 的使用范圍要廣泛的多,各種需要單次或者循環(huán)定時處理的任務(wù)都可以使用。在 UI 相關(guān)的動畫或者顯示內(nèi)容使用 CADisplayLink 比起用 NSTimer 的好處就是我們不需要再格外關(guān)心屏幕的刷新頻率了,因為它本身就是跟屏幕刷新同步的。

4、CALayer 繪圖層

  • 具體講解見 iOS - CALayer 繪圖層

  • 在 iOS 系統(tǒng)中,你能看得見摸得著的東西基本上都是 UIView,比如一個按鈕、一個文本標(biāo)簽、一個文本輸入框、一個圖標(biāo)等等,這些都是 UIView。其實 UIView 之所以能顯示在屏幕上,完全是因為它內(nèi)部的一個層。在創(chuàng)建 UIView 對象時,UIView 內(nèi)部會自動創(chuàng)建一個層(即 CALayer 對象),通過 UIView 的 layer 屬性可以訪問這個層。當(dāng) UIView 需要顯示到屏幕上時,會調(diào)用 drawRect: 方法進行繪圖,并且會將所有內(nèi)容繪制在自己的層上,繪圖完畢后,系統(tǒng)會將層拷貝到屏幕上,于是就完成了 UIView 的顯示。換句話說,UIView 本身不具備顯示的功能,是它內(nèi)部的層才有顯示功能。

5、核心動畫基本概念

  • Core Animation 中文翻譯為核心動畫,它是一組非常強大的動畫處理 API,使用它能做出非常炫麗的動畫效果,而且往往是事半功倍。也就是說,使用少量的代碼就可以實現(xiàn)非常強大的功能。Core Animation 可以用在 macOS 和 iOS 平臺。喬幫主在 2007 年的 WWDC 大會上親自為你演示 Core Animation 的強大:點擊查看視頻。

  • Core Animation 的動畫執(zhí)行過程都是在后臺操作的,不會阻塞主線程。

  • 要注意的是,Core Animation 是直接作用在 CALayer 上的,并非 UIView。

  • 核心動畫 和 UIView 動畫 的區(qū)別:

    • 核心動畫一切都是假象,并不會真實的改變圖層的屬性值,如果以后做動畫的時候,不需要與用戶交互,通常用核心動畫(轉(zhuǎn)場)。
    • UIView 動畫必須通過修改屬性的真實值,才有動畫效果。

5.1 核心動畫繼承結(jié)構(gòu)

  • 核心動畫繼承結(jié)構(gòu)

5.2 核心動畫使用步驟

  • Xcode6 之前的版本,使用它需要先添加 QuartzCore.framework 和引入對應(yīng)的框架 <QuartzCore/QuartzCore.h>。

  • 開發(fā)步驟:

    • 1、首先得有 CALayer。
    • 2、初始化一個 CAAnimation 對象,并設(shè)置一些動畫相關(guān)屬性。
    • 3、通過調(diào)用 CALayer 的 addAnimation:forKey: 方法,增加 CAAnimation 對象到 CALayer 中,這樣就能開始執(zhí)行動畫了。
    • 4、通過調(diào)用 CALayer 的 removeAnimationForKey: 方法可以停止 CALayer 中的動畫。

5.3 CAAnimation

  • 1、CAAnimation 簡介

    • CAAnimation 是所有動畫對象的父類,負(fù)責(zé)控制動畫的持續(xù)時間和速度,是個抽象類,不能直接使用,應(yīng)該使用它具體的子類。

    • 屬性說明:

      removedOnCompletion :默認(rèn)為 YES,代表動畫執(zhí)行完畢后就從圖層上移除,圖形會恢復(fù)到動畫執(zhí)行前的狀態(tài)。如果想讓圖層保持顯示動畫執(zhí)行后的狀態(tài),那就設(shè)置為 NO,不過還要設(shè)置 fillMode 為 kCAFillModeForwards。timingFunction :速度控制函數(shù),控制動畫運行的節(jié)奏。delegate :動畫代理,需要遵守協(xié)議 CAAnimationDelegate。// 來自 CAMediaTiming 協(xié)議的屬性duration :動畫的持續(xù)時間。repeatCount :重復(fù)次數(shù),無限循環(huán)可以設(shè)置 HUGE_VALF 或者 MAXFLOAT。repeatDuration :重復(fù)時間。fillMode :決定當(dāng)前對象在非 active 時間段的行為。比如動畫開始之前或者動畫結(jié)束之后。beginTime :可以用來設(shè)置動畫延遲執(zhí)行時間,若想延遲 2s,就設(shè)置為 CACurrentMediaTime()+2,CACurrentMediaTime() 為圖層的當(dāng)前時間。
  • 2、CAAnimation 動畫填充模式

    • 設(shè)置 fillMode 屬性值(要想 fillMode 有效,需要設(shè)置 removedOnCompletion = NO)

      kCAFillModeRemoved :這個是默認(rèn)值,也就是說當(dāng)動畫開始前和動畫結(jié)束后,動畫對 layer 都沒有影響,動畫結(jié)束后,layer 會恢復(fù)到之前的狀態(tài)。kCAFillModeForwards :當(dāng)動畫結(jié)束后,layer 會一直保持著動畫最后的狀態(tài)。kCAFillModeBackwards :在動畫開始前,只需要將動畫加入了一個 layer,layer 便立即進入動畫的初始狀態(tài)并等待動畫開始。kCAFillModeBoth :這個其實就是上面兩個的合成,動畫加入后開始之前,layer 便處于動畫初始狀態(tài),動畫結(jié)束后 layer 保持動畫最后的狀態(tài)。
  • 3、CAAnimation 速度控制函數(shù)

    • CAMediaTimingFunction 速度控制函數(shù)

      kCAMediaTimingFunctionLinear :線性,勻速,給你一個相對靜態(tài)的感覺。kCAMediaTimingFunctionEaseIn :漸進,動畫緩慢進入,然后加速離開。kCAMediaTimingFunctionEaseOut :漸出,動畫全速進入,然后減速的到達目的地。kCAMediaTimingFunctionEaseInEaseOut :漸進漸出,動畫緩慢的進入,中間加速,然后減速的到達目的地。這個是默認(rèn)的動畫行為。
  • 4、CAAnimation 動畫代理方法

    • CAAnimation 在分類中定義了代理方法

      @interface NSObject (CAAnimationDelegate)/* Called when the animation begins its active duration. */// 動畫開始執(zhí)行的時候觸發(fā)這個方法- (void)animationDidStart:(CAAnimation *)anim;/* Called when the animation either completes its active duration or* is removed from the object it is attached to (i.e. the layer). 'flag'* is true if the animation reached the end of its active duration* without being removed. */// 動畫執(zhí)行完畢的時候觸發(fā)這個方法- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag;@end

5.4 CAPropertyAnimation

  • CAPropertyAnimation 是 CAAnimation 的子類,也是個抽象類,要想創(chuàng)建動畫對象,應(yīng)該使用它的兩個子類:
    • CABasicAnimation
    • CAKeyframeAnimation
  • 屬性說明:

    keyPath :通過指定 CALayer 的一個屬性名稱為 keyPath(NSString 類型),并且對 CALayer 的這個屬性的值進行修改,達到相應(yīng)的動畫效果。比如,指定 @“position” 為 keyPath,就修改 CALayer 的 position 屬性的值,以達到平移的動畫效果。

5.5 CALayer 上動畫的暫停和恢復(fù)

  • 1、CALayer 上動畫的暫停

    // 暫停 CALayer 的動畫,自定義方法- (void)pauseLayer:(CALayer*)layer {CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil];// 讓 CALayer 的時間停止走動layer.speed = 0.0;// 讓 CALayer 的時間停留在 pausedTime 這個時刻layer.timeOffset = pausedTime;}
  • 2、CALayer 上動畫的恢復(fù)

    // 恢復(fù) CALayer 的動畫,自定義方法- (void)resumeLayer:(CALayer*)layer {CFTimeInterval pausedTime = layer.timeOffset;// 讓 CALayer 的時間繼續(xù)行走layer.speed = 1.0;// 取消上次記錄的停留時刻layer.timeOffset = 0.0;// 取消上次設(shè)置的時間layer.beginTime = 0.0;// 計算暫停的時間(這里也可以用 CACurrentMediaTime() - pausedTime)CFTimeInterval timeSincePause = [layer convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;// 設(shè)置相對于父坐標(biāo)系的開始時間(往后退 timeSincePause)layer.beginTime = timeSincePause;}

6、基本動畫

  • CABasicAnimation 基本動畫,是 CAPropertyAnimation 的子類。

  • 屬性說明:

    fromValue :keyPath 相應(yīng)屬性的初始值toValue :keyPath 相應(yīng)屬性的結(jié)束值byValue :keyPath 相應(yīng)屬性的改變值
  • 動畫過程說明:

    • keyPath 內(nèi)容是 CALayer 的可動畫 Animatable 屬性。
    • 隨著動畫的進行,在長度為 duration 的持續(xù)時間內(nèi),keyPath 相應(yīng)屬性的值從 fromValue 漸漸地變?yōu)?toValue。
    • 如果 fillMode = kCAFillModeForwards 同時 removedOnComletion = NO,那么在動畫執(zhí)行完畢后,圖層會保持顯示動畫執(zhí)行后的狀態(tài)。但在實質(zhì)上,圖層的屬性值還是動畫執(zhí)行前的初始值,并沒有真正被改變。
  • CABasicAnimation 雖然能夠做很多基本的動畫效果,但是有個局限性,只能讓 CALayer 的屬性從某個值漸變到另一個值,僅僅是在 2 個值之間漸變。

6.1 平移動畫

  • 1、方法 1

    // 說明這個動畫對象要對 CALayer 的 position 屬性執(zhí)行動畫CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"position"];// 動畫持續(xù) 1.5sanim.duration = 1.5;// position 屬性值從 (50, 80) 漸變到 (300, 350)anim.fromValue = [NSValue valueWithCGPoint:CGPointMake(50, 80)];anim.toValue = [NSValue valueWithCGPoint:CGPointMake(250, 350)];// 設(shè)置動畫的代理anim.delegate = self;// 保持動畫執(zhí)行后的狀態(tài)anim.removedOnCompletion = NO;anim.fillMode = kCAFillModeForwards;// 添加動畫對象到圖層上[self.myView.layer addAnimation:anim forKey:@"translate"];
    • 第 2 行設(shè)置的 keyPath 是 @"position",說明要修改的是 CALayer 的 position 屬性,也就是會執(zhí)行平移動畫。

    • 注意第 8、9 行,這里并不是直接使用 CGPoint 這種結(jié)構(gòu)體類型,而是要先包裝成 NSValue 對象后再使用。這 2 行代碼表示 CALayer 從位置 (50, 80) 移動到位置 (250, 350)。

    • 如果將第 9 行的 toValue 換成 byValue,代表 CALayer 從位置 (50, 80) 開始向右移動 250、向下移動 350,也就是移動到位置 (300, 430)。

      anim.byValue = [NSValue valueWithCGPoint:CGPointMake(250, 350)];
    • 默認(rèn)情況下,動畫執(zhí)行完畢后,動畫會自動從 CALayer 上移除,CALayer 又會回到原來的狀態(tài)。為了保持動畫執(zhí)行后的狀態(tài),可以加入第 15、16 行代碼。

    • 第 19 行后面的 @"translate" 是給動畫對象起個名稱,以后可以調(diào)用 CALayer 的 removeAnimationForKey: 方法根據(jù)動畫名稱停止相應(yīng)的動畫。

    • 第 12 行是設(shè)置動畫的代理,可以監(jiān)聽動畫的執(zhí)行過程,這里設(shè)置控制器為代理。需要遵守協(xié)議 CAAnimationDelegate,代理需要實現(xiàn)的方法有:

      - (void)animationDidStart:(CAAnimation *)anim {NSLog(@"%s", __func__);}- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag {NSLog(@"%s", __func__);}
    • 打印結(jié)果為:

      09:11:10.880 CALayerDemo[12721:622836] -[ViewController animationDidStart:]09:11:12.419 CALayerDemo[12721:622836] -[ViewController animationDidStop:finished:],position:{50, 80}
    • 實際上,動畫執(zhí)行完畢后,并沒有真正改變 CALayer 的 position 屬性的值。

    • 效果

  • 2、方法 2

    // 說明這個動畫對象要對 CALayer 的 transform 屬性執(zhí)行動畫CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform"];// 動畫持續(xù) 1.5sanim.duration = 1.5;// 平移,x 軸移動 250,y 軸移動 350,z 軸移動 0CATransform3D form = CATransform3DMakeTranslation(250, 350, 0);anim.toValue = [NSValue valueWithCATransform3D:form];// 添加動畫對象到圖層上[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

6.2 縮放動畫

  • 1、方法 1

    // 說明這個動畫對象要對 CALayer 的 bounds 屬性執(zhí)行動畫CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"bounds"];// 動畫持續(xù) 2sanim.duration = 2;// 縮放,width 從 100 變?yōu)?30,height 從 100 變?yōu)?30// anim.fromValue = [NSValue valueWithCGPoint:CGPointMake(100, 100)]; // fromValue 可以省略anim.toValue = [NSValue valueWithCGRect:CGRectMake(0, 0, 30, 30)];// 添加動畫對象到圖層上[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

  • 2、方法 2

    // 說明這個動畫對象要對 CALayer 的 transform 屬性執(zhí)行動畫CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform"];// 動畫持續(xù) 1.5sanim.duration = 1.5;// 縮放,width 從 100 變?yōu)?200,height 從 100 變?yōu)?150// anim.fromValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)];anim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(2.0, 1.5, 1.0)];// 添加動畫對象到圖層上[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

  • 3、心跳效果

    // 說明這個動畫對象要對 CALayer 的 transform.scale 屬性執(zhí)行動畫CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform.scale"];// 動畫持續(xù) 1.0sanim.duration = 1.0;// 縮放倍數(shù)anim.toValue = @0.5;// 設(shè)置動畫執(zhí)行次數(shù)anim.repeatCount = MAXFLOAT;// 保持動畫執(zhí)行后的狀態(tài)anim.removedOnCompletion = NO;anim.fillMode = kCAFillModeForwards;// 添加動畫對象到圖層上[imageView.layer addAnimation:anim forKey:nil];
    • 效果

6.3 旋轉(zhuǎn)動畫

  • 1、方法

    // 說明這個動畫對象要對 CALayer 的 transform.rotation 屬性執(zhí)行動畫CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];// 動畫持續(xù) 3.5sanim.duration = 3.5;// 縮放倍數(shù)anim.toValue = @(M_PI_4 * 3);// 添加動畫對象到圖層上[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

  • 2、方法

    // 說明這個動畫對象要對 CALayer 的 transform 屬性執(zhí)行動畫CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform"];// 動畫持續(xù) 3.5sanim.duration = 3.5;// 繞著 (0, 0, 1) 這個向量軸順時針旋轉(zhuǎn) 45°// anim.fromValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0, 0, 0, 1)];anim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI_4 * 3, 0, 0, 1)];// 設(shè)置動畫執(zhí)行次數(shù)anim.repeatCount = MAXFLOAT;// 保持動畫執(zhí)行后的狀態(tài)anim.removedOnCompletion = NO;anim.fillMode = kCAFillModeForwards;// 添加動畫對象到圖層上[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

7、關(guān)鍵幀動畫

  • CAKeyframeAnimation 關(guān)鍵幀動畫,是 CAPropertyAnimation 的子類。

  • 與 CABasicAnimation 的區(qū)別是:

    • CABasicAnimation 只能從一個數(shù)值(fromValue)變到另一個數(shù)值(toValue),而 CAKeyframeAnimation 會使用一個 NSArray 保存這些數(shù)值。
    • CABasicAnimation 可看做是只有2個關(guān)鍵幀的 CAKeyframeAnimation。
  • 屬性說明:

    values :上述的 NSArray 對象。里面的元素稱為 “關(guān)鍵幀” (keyframe)。動畫對象會在指定的時間(duration)內(nèi),依次顯示 values 數(shù)組中的每一個關(guān)鍵幀。path :可以設(shè)置一個 CGPathRef、CGMutablePathRef,讓圖層按照路徑軌跡移動。path 只對 CALayer 的 anchorPoint 和 position 起作用。如果設(shè)置了 path,那么 values 將被忽略。keyTimes :可以為對應(yīng)的關(guān)鍵幀指定對應(yīng)的時間點,其取值范圍為 0 到 1.0,keyTimes 中的每一個時間值都對應(yīng) values 中的每一幀。如果沒有設(shè)置 keyTimes,各個關(guān)鍵幀的時間是平分的。

7.1 平移動畫

  • 1、添加動畫關(guān)鍵幀

    CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"transform.translation"];// CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position"];anim.duration = 5.0;// 動畫起始位置,從 position 點出開始NSValue *pointVal1 = [NSValue valueWithCGPoint:CGPointMake(0, 0)];// 水平移動 200 - 0,垂直方向不變(0 - 0 = 0)NSValue *pointVal2 = [NSValue valueWithCGPoint:CGPointMake(200, 0)];// 垂直移動 200 - 0,水平位置不變(200 - 200 = 0)NSValue *pointVal3 = [NSValue valueWithCGPoint:CGPointMake(200, 200)];// 水平移動 0 - 200,垂直方向不變(200 - 200 = 0)NSValue *pointVal4 = [NSValue valueWithCGPoint:CGPointMake(0, 200)];// 垂直移動 0 - 200,水平位置不變(0 - 0 = 0)NSValue *pointVal5 = [NSValue valueWithCGPoint:CGPointMake(0, 0)];// 添加動畫關(guān)鍵幀anim.values = @[pointVal1, pointVal2, pointVal3, pointVal4, pointVal5];[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

  • 2、添加動畫路徑

    CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"transform.translation"];// CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position"];anim.duration = 5.0;// 添加動畫路徑anim.path = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 200, 200)].CGPath;[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

  • 3、劃定路徑移動

    • DrawView.m

      @interface DrawView ()@property (nonatomic, strong) UIBezierPath *path;@end@implementation DrawView/// 觸摸開始- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event {// 移除上一個動畫[self.subviews.firstObject.layer removeAnimationForKey:@"drawAnimation"];// 獲取觸摸起始點位置CGPoint startPoint = [touches.anyObject locationInView:self];// 創(chuàng)建路徑self.path = [UIBezierPath bezierPath];// 設(shè)置起點[self.path moveToPoint:startPoint];}/// 觸摸移動- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event {// 獲取觸摸點位置CGPoint touchPoint = [touches.anyObject locationInView:self];[self.path addLineToPoint:touchPoint];[self setNeedsDisplay];}/// 觸摸結(jié)束- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event {// 添加關(guān)鍵幀動畫CAKeyframeAnimation *anim = [CAKeyframeAnimation animation];anim.keyPath = @"position";// 添加動畫路徑anim.path = self.path.CGPath;anim.duration = 3;anim.repeatCount = MAXFLOAT;anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];// 給子視圖添加核心動畫[self.subviews.firstObject.layer addAnimation:anim forKey:@"drawAnimation"];}/// 觸摸取消- (void)touchesCancelled:(NSSet *)touches withEvent:(nullable UIEvent *)event {[self touchesEnded:touches withEvent:event];}/// 繪圖- (void)drawRect:(CGRect)rect {[self.path stroke];}@end
    • ViewController.m

      DrawView *myDrawView = [[DrawView alloc] initWithFrame:self.view.bounds];myDrawView.backgroundColor = [UIColor whiteColor];[self.view addSubview:myDrawView];UIImageView *imv = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 50, 50)];imv.image = [UIImage imageNamed:@"heart2"];[myDrawView addSubview:imv];
      • 效果

7.2 縮放動畫

  • 縮放動畫

    CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale"];anim.duration = 5.0;// 動畫起始大小,1 不縮放NSNumber *scaleVal1 = @1;// 放大 2 倍NSNumber *scaleVal2 = @2;// 不縮放,縮小至原來大小NSNumber *scaleVal3 = @1;// 縮小 0.5 倍NSNumber *scaleVal4 = @0.5;// 不縮放,放大至原來大小NSNumber *scaleVal5 = @1;// 添加動畫關(guān)鍵幀anim.values = @[scaleVal1, scaleVal2, scaleVal3, scaleVal4, scaleVal5];[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

7.3 旋轉(zhuǎn)動畫

  • 1、旋轉(zhuǎn)動畫

    CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation"];anim.duration = 5.0;// 動畫起始角度,0 不旋轉(zhuǎn)NSNumber *rotationVal1 = @0;// 旋轉(zhuǎn) M_PI_4 * 1NSNumber *rotationVal2 = @(M_PI_4 * 1);// 旋轉(zhuǎn) M_PI_4 * 2NSNumber *rotationVal3 = @(M_PI_4 * 2);// 旋轉(zhuǎn) M_PI_4 * 3NSNumber *rotationVal4 = @(M_PI_4 * 3);// 旋轉(zhuǎn) M_PI_4 * 4NSNumber *rotationVal5 = @(M_PI_4 * 4);// 添加動畫關(guān)鍵幀anim.values = @[rotationVal1, rotationVal2, rotationVal3, rotationVal4, rotationVal5];[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

  • 2、圖標(biāo)抖動

    CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation"];anim.repeatCount = MAXFLOAT;NSNumber *rotationVal1 = @(-5 / 180.0 * M_PI);NSNumber *rotationVal2 = @(5 / 180.0 * M_PI);NSNumber *rotationVal3 = @(-5 / 180.0 * M_PI);// 添加動畫關(guān)鍵幀anim.values = @[rotationVal1, rotationVal2, rotationVal3];[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

8、轉(zhuǎn)場動畫

  • CATransition 轉(zhuǎn)場動畫,是 CAAnimation 的子類,用于做轉(zhuǎn)場動畫,能夠為層提供移出屏幕和移入屏幕的動畫效果。UINavigationController 就是通過 CATransition 實現(xiàn)了將控制器的視圖推入屏幕的動畫效果。

  • 動畫屬性:

    type :動畫類型。subtype :動畫方向。startProgress :動畫起點(在整體動畫的百分比)。endProgress :動畫終點(在整體動畫的百分比)。
  • 設(shè)置動畫類型

    基本型:kCATransitionFade 交叉淡化過渡kCATransitionPush 新視圖把舊視圖推出去kCATransitionMoveIn 新視圖移到舊視圖上面kCATransitionReveal 將舊視圖移開,顯示下面的新視圖用字符串表示的類型:fade push moveIn reveal 和系統(tǒng)自帶的四種一樣pageCurl 向上翻頁效果pageUnCurl 向下翻頁效果rippleEffect 水滴效果suckEffect 收縮效果,如一塊布被抽走cube 立方體翻滾效果alignedCube 立方體翻滾效果flip 翻轉(zhuǎn)效果alignedFlip 翻轉(zhuǎn)效果oglFlip 翻轉(zhuǎn)效果rotate 旋轉(zhuǎn)cameraIrisHollowOpen 相機鏡頭打開效果cameraIrisHollowClose 相機鏡頭關(guān)閉效果cameraIris 相機鏡頭打開關(guān)閉效果
    • kCATransitionFade 和 fade 效果,kCATransitionPush 和 push 效果

    • kCATransitionMoveIn 和 moveIn 效果,kCATransitionReveal 和 reveal 效果

    • pageCurl 效果,pageUnCurl 效果

    • rippleEffect 效果,suckEffect 效果

    • cube、alignedCube 效果,flip、alignedFlip、oglFlip 效果

    • rotate 效果,cameraIris 效果

    • cameraIrisHollowOpen 效果,cameraIrisHollowClose 效果

  • 設(shè)置動畫方向

    四種預(yù)設(shè),某些類型中此設(shè)置無效:kCATransitionFromRightkCATransitionFromLeftkCATransitionFromTopkCATransitionFromBottom
  • UIView 實現(xiàn)轉(zhuǎn)場動畫方法

    // 單視圖+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;參數(shù)說明:view:需要進行轉(zhuǎn)場動畫的視圖duration:動畫的持續(xù)時間options:轉(zhuǎn)場動畫的類型animations:將改變視圖屬性的代碼放在這個 block 中completion:動畫結(jié)束后,會自動調(diào)用這個 block// 雙視圖+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion;參數(shù)說明:duration:動畫的持續(xù)時間options:轉(zhuǎn)場動畫的類型completion:動畫結(jié)束后,會自動調(diào)用這個 block

8.1 添加轉(zhuǎn)場動畫

  • 添加轉(zhuǎn)場動畫

    @property (weak, nonatomic) IBOutlet UIView *animView;@property (weak, nonatomic) IBOutlet UIImageView *imageView;- (IBAction)btnClick:(id)sender {static int i = 2;// 加載圖片self.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"page%d", i]];i = (i == 2) ? 1 : i + 1;// 添加轉(zhuǎn)場動畫CATransition *anim = [CATransition animation];// 設(shè)置動畫效果anim.type = @"flip";// 設(shè)置動畫方向anim.subtype = kCATransitionFromLeft;// 設(shè)置動畫時間anim.duration = 1.0;// 添加轉(zhuǎn)場動畫[self.animView.layer addAnimation:anim forKey:nil];}

    • 效果

9、動畫組

  • CAAnimationGroup 動畫組,是 CAAnimation 的子類,可以保存一組動畫對象,將 CAAnimationGroup 對象加入層后,組中所有動畫對象可以同時并發(fā)運行。

  • 屬性說明:

    animations :用來保存一組動畫對象的 NSArray。默認(rèn)情況下,一組動畫對象是同時運行的,也可以通過設(shè)置動畫對象的 beginTime 屬性來更改動畫的開始時間。

9.1 添加動畫組

  • 添加動畫組

    // 同時旋轉(zhuǎn),縮放,平移CAAnimationGroup *anim = [CAAnimationGroup animation];CABasicAnimation *rotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];rotation.toValue = @(M_PI_4 * 3);CABasicAnimation *scale = [CABasicAnimation animationWithKeyPath:@"transform.scale"];scale.toValue = @0.5;CABasicAnimation *translation = [CABasicAnimation animationWithKeyPath:@"transform.translation"];translation.toValue = [NSValue valueWithCGPoint:CGPointMake(300, 300)];// 添加動畫anim.animations = @[rotation, scale, translation];anim.duration = 3.0;anim.removedOnCompletion = NO;anim.fillMode = kCAFillModeForwards;// 添加動畫組[self.myView.layer addAnimation:anim forKey:nil];
    • 效果

10、核心動畫的使用

  • 具體講解見 iOS - Core Animation 核心動畫的使用

轉(zhuǎn)載于:https://www.cnblogs.com/QianChia/p/6359714.html

總結(jié)

以上是生活随笔為你收集整理的iOS - Core Animation 核心动画的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

亚洲经典视频 | 91九色porny蝌蚪主页 | 久久99久| 久久亚洲影视 | .国产精品成人自产拍在线观看6 | 丝袜制服综合网 | 狠狠狠狠干 | 亚洲黄色免费电影 | 久久国产精品久久w女人spa | 中文字幕资源网 | 色噜噜日韩精品一区二区三区视频 | 亚洲精品在线看 | 97在线视频观看 | 久久电影中文字幕视频 | 99麻豆久久久国产精品免费 | 337p欧美| 天天色播| 国产97视频在线 | 超碰夜夜 | 男女激情片在线观看 | 一区二区三区韩国免费中文网站 | 精品一区二区影视 | 91麻豆精品国产91 | 色a资源在线 | 五月天亚洲综合小说网 | 国产午夜精品一区二区三区 | 亚洲成人精品 | 中文字幕亚洲不卡 | 在线天堂中文www视软件 | 国产精品你懂的在线观看 | 在线之家免费在线观看电影 | 亚洲精品在线视频 | av在线影视 | 欧美另类高清 | 日韩aa视频| 亚洲最新av在线网站 | 99视频精品免费视频 | 亚洲精品18日本一区app | 黄色亚洲大片免费在线观看 | 久久tv| 97精品国产一二三产区 | 亚洲欧洲一区二区在线观看 | 国产高清免费在线观看 | 日韩一区视频在线 | 欧美最新大片在线看 | 午夜国产一区二区 | h视频在线看 | 国产最新在线视频 | 国产黑丝一区二区 | 日韩免费视频线观看 | 97色在线| 国产精品视频观看 | 黄色片免费看 | 国产无区一区二区三麻豆 | 国产网站av | 亚洲2019精品 | 国产码电影 | 国产品久精国精产拍 | 97av超碰| 丁香六月婷婷综合 | 成人免费看片98欧美 | 亚洲动漫在线观看 | 国产原创在线观看 | 亚洲精品美女在线 | 夜夜爽天天爽 | 欧美一级乱黄 | 中文字幕日本在线 | 人人超在线公开视频 | 成人一级片视频 | 成人av中文字幕 | 国产aaa毛片 | 超碰97在线看 | 国产91学生粉嫩喷水 | 天堂成人在线 | www视频在线观看 | 午夜性色 | 综合久久久久 | 日韩一区二区三区不卡 | 久久精品视频在线免费观看 | 亚洲黄色小说网址 | 午夜视频免费在线观看 | 日韩美女久久 | 日本精品久久久久中文字幕5 | 狠狠色丁香久久婷婷综合丁香 | 成人国产精品久久久春色 | 人人超碰人人 | 久久精品国产一区二区电影 | 色婷丁香 | 麻豆免费视频网站 | 婷婷丁香六月 | 久久福利剧场 | 在线a人v观看视频 | 日韩特级黄色片 | 日韩成人中文字幕 | 日韩中字在线观看 | 国产中文字幕91 | 亚洲女在线 | 午夜精品福利在线 | 99热这里精品 | www天天干 | 亚洲精品777 | 国产精品久久久久免费观看 | 九九视频精品免费 | 三级av片| av官网在线 | 免费在线观看成人小视频 | 亚洲午夜久久久久 | 精品国产欧美一区二区三区不卡 | 在线探花| 国产va饥渴难耐女保洁员在线观看 | 成人a级免费视频 | 色天天天 | 夜夜躁日日躁狠狠久久88av | 日韩一区二区三免费高清在线观看 | 免费看片亚洲 | 亚州人成在线播放 | 欧美精品免费在线 | 精品中文字幕在线播放 | 四虎影院在线观看av | 91精品久久久久久久久 | 99久久久国产精品免费99 | 亚洲国产精品久久久久婷婷884 | 黄网站a| 99精品在线视频播放 | 国内精品久久久久久久久久久 | 国产人免费人成免费视频 | 曰韩精品 | 日韩在线观看不卡 | 久久国产免费看 | 欧美怡红院 | 日日碰狠狠躁久久躁综合网 | 欧美一级片在线免费观看 | 美女福利视频一区二区 | 国际精品久久久 | 国产精品久久久久999 | 十八岁以下禁止观看的1000个网站 | 久久视精品 | www.91av在线 | 黄视频网站大全 | 亚洲免费精品一区二区 | 人人dvd | 欧美夫妻生活视频 | 久久成人午夜视频 | a视频免费 | 人人澡人人干 | 成人观看视频 | a级片韩国| 中文字幕2021 | 国产精品日韩高清 | 国内精品久久久久影院优 | 日韩免 | 国产精品久久久久久久久久久不卡 | 国产婷婷在线观看 | 91日韩精品视频 | 91在线网址 | www.人人草 | 亚洲精品视频在线播放 | 日韩在线高清视频 | 久久综合中文字幕 | 97超碰在线视 | 国模视频一区二区三区 | 久久一久久 | 8x成人在线 | 麻豆成人在线观看 | 日韩中文字幕视频在线观看 | 涩涩网站在线观看 | 91成人观看 | 婷婷 中文字幕 | 超碰成人网 | 日韩高清久久 | 天天干天天色2020 | 91精品麻豆 | 天天操天天弄 | 黄色片网站免费 | 国产欧美精品一区二区三区四区 | 精品久久一区二区 | 日韩在线播放av | 国产精品久久久久久久久久久久冷 | 国产在线欧美 | 国产美女精品久久久 | 奇米影视8888在线观看大全免费 | 97人人添人澡人人爽超碰动图 | 国产一级做a爱片久久毛片a | 中文字幕在线观看一区二区三区 | 在线亚洲观看 | 热re99久久精品国产66热 | 免费视频91| 亚洲成人999 | 久久国产一区 | 日本精品视频网站 | 人人藻人人澡人人爽 | 亚洲经典视频在线观看 | 91自拍视频在线观看 | 亚洲人在线视频 | 色妞色视频一区二区三区四区 | 国产精品毛片一区 | 日韩精选在线 | 看毛片的网址 | 天堂av在线网址 | 久久久综合 | 操天天操 | 在线电影日韩 | 日本午夜免费福利视频 | 日韩欧美国产成人 | 又污又黄网站 | 97热久久免费频精品99 | 99精品久久久 | 91av视频在线播放 | 在线播放日韩av | 成年在线观看 | 在线看黄色的网站 | 久久视频一区 | 在线亚洲小视频 | 精品在线观看一区二区三区 | 黄色精品网站 | av电影在线免费观看 | 免费看十八岁美女 | 国产美女免费看 | 精品国产一区二区三区av性色 | 东方av在线免费观看 | www.eeuss影院av撸 | 波多野结衣在线播放视频 | 亚洲蜜桃在线 | 九九视频网站 | 亚州中文av| 九九在线视频免费观看 | 又黄又爽的视频在线观看网站 | 成人a免费看 | 精品国模一区二区三区 | 激情综合网五月 | a黄色一级片 | 成人一区二区在线观看 | 国产97在线观看 | 青草草在线视频 | 成人av片免费观看app下载 | 日韩欧美视频免费观看 | 天天噜天天色 | 国产一级在线观看视频 | 日日夜夜免费精品视频 | 操天天操 | 日韩高清www | 日韩电影在线一区二区 | 天天干,天天插 | www.亚洲| 视频在线国产 | 久久久国产精华液 | 久久久国际精品 | 久久伊人操| 午夜神马福利 | 国产永久免费高清在线观看视频 | 97国产在线观看 | 国产免费又黄又爽 | 免费黄色网址大全 | 欧美久久久久久久久久久 | 日日干干夜夜 | 日日躁你夜夜躁你av蜜 | 日韩在线观 | 成人黄色av免费在线观看 | 日本激情中文字幕 | 色国产在线 | 五月婷婷导航 | 西西444www高清大胆 | 亚洲精品在线观看的 | 亚洲国产中文字幕在线视频综合 | 久久久久久久久久久精 | 免费在线观看成人 | 天天射天天爱天天干 | 蜜臀av网址 | 亚洲精品一区二区久 | 日韩欧美一区二区在线 | 91人人澡人人爽 | 青青河边草免费观看 | 国模一区二区三区四区 | 午夜体验区 | 天天曰天天曰 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产做爰视频 | 天天综合视频在线观看 | 国产精品免费在线 | 五月天久久婷 | 欧美精品久久久久a | 国产精品久久久久久吹潮天美传媒 | 69av在线播放| 国产精品久久网站 | 五月天久久综合网 | 婷婷丁香六月天 | 亚洲高清在线视频 | 黄色小说网站在线 | 成人黄色资源 | 天天操天天射天天舔 | 国产精品久久久久久吹潮天美传媒 | 婷婷激情av| 91日韩国产| 欧美日本一区 | 一本一本久久a久久精品综合小说 | 欧美乱熟臀69xxxxxx | 97超碰人人澡人人爱学生 | 亚洲色综合 | 久草在线视频网站 | 日韩精品中文字幕有码 | 国产清纯在线 | 久久精品婷婷 | 成人一区二区在线 | 国语麻豆| 婷婷色网视频在线播放 | 久久99久久99精品中文字幕 | 日韩欧美精品一区 | 日本一区二区三区视频在线播放 | www.99久久.com| 色黄久久久久久 | 91热视频在线观看 | 久久黄色免费 | www.福利| a色视频| 插插插色综合 | 久久综合五月 | 国产自产在线视频 | 精品理论片 | 人人爱人人射 | 国产999在线观看 | 波多野结衣电影一区 | 在线看日韩 | 日韩在线观看的 | 欧美午夜一区二区福利视频 | 狠狠操91| 最近中文字幕国语免费高清6 | 99视频精品 | 天天操天天曰 | 激情综合五月天 | 国产成人av电影在线 | 色在线网站| 亚洲九九精品 | 狠狠色丁香婷婷综合最新地址 | 免费亚洲视频 | 亚洲网站在线看 | 久久亚洲欧美 | 五月天婷婷视频 | 国产另类xxxxhd高清 | 久久免费看毛片 | 免费韩国av| 国产精品久久久免费看 | 欧美精品在线观看免费 | 亚洲精品一区二区在线观看 | 最新国产视频 | 91丨九色丨国产在线观看 | 国产在线a不卡 | 国产专区视频在线观看 | 三级黄色片在线观看 | 天天射天天 | 成年人在线电影 | 久草在线免费新视频 | 亚洲一区二区高潮无套美女 | 在线免费观看视频一区二区三区 | 91免费网址 | 成人中文字幕在线 | 操操操天天操 | 96亚洲精品久久久蜜桃 | 香蕉在线观看 | 98超碰在线观看 | 国产成人精品在线观看 | 91精品国产自产在线观看 | 激情婷婷在线观看 | 天天射天天舔天天干 | 欧美激情综合五月色丁香小说 | 久草国产视频 | 怡红院成人在线 | 四虎国产精品成人免费4hu | 日韩精品一区二区免费视频 | 激情久久久久久久久久久久久久久久 | 亚洲免费在线看 | 91中文视频| 在线观看黄av | 国产色在线观看 | 色五月成人 | 高潮久久久久久久久 | 国产精品一区二区麻豆 | 亚洲最大av网站 | av在线网站大全 | 在线成人高清电影 | 欧美亚洲国产精品久久高清浪潮 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 超碰av免费| 1024手机基地在线观看 | 日本高清中文字幕有码在线 | 韩国在线视频一区 | 免费日韩在线 | www免费视频com| 黄色软件在线观看视频 | 成年人看片网站 | 99国内精品久久久久久久 | 亚洲精品成人av在线 | 黄色视屏av | 久草在线视频首页 | 精品国产一区二区三区不卡 | 伊人五月天.com | 91久久在线观看 | 国产高清绿奴videos | 人人看97 | 日韩乱色精品一区二区 | 人人添人人澡人人澡人人人爽 | 亚洲精品88欧美一区二区 | 亚洲精品在线一区二区三区 | 国产视频在线一区二区 | 就色干综合 | 麻豆视频在线免费观看 | 伊人久久婷婷 | 日韩av成人在线观看 | 亚洲黄色在线观看 | 国内精品美女在线观看 | 久久图 | 综合久久久久久久久 | 久久亚洲区 | 亚洲精品在线免费观看视频 | 草久在线观看视频 | 日韩精品欧美精品 | 亚洲精品国产日韩 | 91亚洲国产成人久久精品网站 | 色婷婷欧美 | 黄色免费国产 | 中文一区二区三区在线观看 | 日韩色中色| 日韩a欧美 | 亚洲天堂免费视频 | 国产精品欧美在线 | 97精品久久 | 在线电影日韩 | 欧美片一区二区三区 | 丰满少妇对白在线偷拍 | 亚洲精品456在线播放 | 韩日精品在线 | 国产在线更新 | 免费在线成人av | 亚洲一级电影视频 | 中文字幕乱在线伦视频中文字幕乱码在线 | 黄网站色欧美视频 | 99精品热视频 | 欧美日韩综合在线 | 91在线一区 | 美女在线免费视频 | 国产精品白虎 | 国产成视频在线观看 | 婷婷性综合 | 色www精品视频在线观看 | 亚洲资源一区 | 激情av资源网| 2022国产精品视频 | 精品久久久久免费极品大片 | 国产999在线| 国产手机av | 国产精品一区二区三区99 | 人人干干人人 | 99精品视频网 | 在线观看亚洲电影 | 中文字幕亚洲欧美日韩 | 亚洲资源 | 久久免费国产精品1 | 亚洲精品国产精品久久99热 | 亚洲电影自拍 | 免费黄色av片 | 日韩激情免费视频 | 久久精品视频免费 | 91香蕉视频在线 | 精品黄色在线观看 | 麻豆91网站 | 精品一区二区电影 | 国产福利a | 国产片免费在线观看视频 | 亚洲天堂香蕉 | 中文字幕色综合网 | 日韩国产高清在线 | 天天干,狠狠干 | 天天射天天爱天天干 | 国内精自线一二区永久 | 久久精品爱视频 | 五月天久久久久 | 天天操夜夜操国产精品 | 亚洲精品日韩av | 欧美精品免费一区二区 | 国产一区二区在线影院 | 国产91丝袜在线播放动漫 | 性色av免费观看 | 一区二区精品在线视频 | 国产永久免费 | 亚洲五月综合 | 深爱激情综合 | 黄色av电影在线观看 | 国产精品第一视频 | 欧美一性一交一乱 | 天天综合色 | 日韩av一卡二卡三卡 | 免费看片网址 | 高潮毛片无遮挡高清免费 | 97超碰在线久草超碰在线观看 | 国产一区二区不卡视频 | 超碰人人草 | 天天人人综合 | 亚洲天天干 | 人成免费网站 | 99久久久久免费精品国产 | 精品欧美小视频在线观看 | 黄色片网站av| 福利视频入口 | 一级成人免费视频 | 在线黄色免费av | 99视频精品全部免费 在线 | 亚洲 综合 专区 | 国产精品久久久久aaaa | 香蕉影视| av在线看网站| 亚洲va在线va天堂 | 国产精品成人aaaaa网站 | 99色在线观看 | 麻豆影视网 | 911香蕉视频 | 精品99免费 | 精品电影一区 | 911久久 | 国产在线一区观看 | 黄色小说视频网站 | 1024在线看片 | 中文字幕第一页在线vr | 丁香婷婷社区 | www.精选视频.com | 亚洲免费成人av电影 | 久久久久久久久网站 | 69国产成人综合久久精品欧美 | 久久久精品高清 | 亚洲一级影院 | 亚洲成a人片综合在线 | 在线之家免费在线观看电影 | 日韩精品一区二 | 久久久久久久久久久网 | 亚洲国产精品电影 | 91亚洲精品在线观看 | 97国产在线观看 | 久久av在线播放 | 亚洲免费永久精品国产 | 日本激情中文字幕 | 我要色综合天天 | 日韩成人精品 | 天天天色综合a | 亚洲精品www久久久久久 | 81国产精品久久久久久久久久 | 在线免费观看麻豆视频 | 日韩欧美精品一区二区三区经典 | 成人精品99 | 人人搞人人搞 | 久操综合| 国产精品欧美久久 | 成人一区电影 | 99久久99久久精品国产片果冰 | 伊人伊成久久人综合网小说 | 青青河边草免费视频 | 日韩亚洲国产中文字幕 | 亚洲性xxxx| 91精品在线免费观看 | 996久久国产精品线观看 | 日本最新高清不卡中文字幕 | 日本中文字幕网站 | 成人黄色在线观看视频 | 久久久久久久久久毛片 | 久久天天躁夜夜躁狠狠躁2022 | 韩日精品中文字幕 | 日日夜夜狠狠 | 久久综合久色欧美综合狠狠 | 国产视频一区二区三区在线 | 日韩久久久 | 狠狠干狠狠色 | 91爱爱电影 | 日韩欧美在线视频一区二区三区 | 四虎永久免费在线观看 | 亚洲天堂自拍视频 | 免费在线91 | 久久久久久久影视 | 美女网站免费福利视频 | 国产一级片视频 | 国产一区二区三区 在线 | 国产精品免费在线播放 | 美女免费黄网站 | 成人丁香花 | 亚洲成人av免费 | 亚洲午夜精 | 欧美福利网址 | 国产精品99久久久久的智能播放 | 欧美天天综合网 | 综合国产在线 | 亚洲精品在线观看网站 | 日韩av午夜 | 久草在线免费电影 | 丁香五月亚洲综合在线 | 精品国产1区2区 | 麻豆精品国产传媒 | 国产在线视频一区二区 | 欧美高清视频不卡网 | 精品国产日本 | 日日爽天天爽 | 一区二区视频免费在线观看 | 久久成人一区 | 天天射,天天干 | 亚洲少妇天堂 | 日韩精品中文字幕av | 综合激情婷婷 | 日韩精品免费在线观看 | 日韩电影精品一区 | 99色在线播放| 一区二区三区免费 | 韩国av三级 | 毛片1000部免费看 | 久久丁香 | 91精品国产麻豆 | 国产91精品一区二区绿帽 | 日韩免费高清 | 久久午夜精品影院一区 | 中文字幕精品视频 | 亚洲精区二区三区四区麻豆 | 99久久精品国产欧美主题曲 | 久久久久久久久久久精 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 国产色婷婷精品综合在线手机播放 | 美女视频一区 | 日本字幕网| 久久综合桃花 | 国产精品va在线播放 | 97视频在线观看免费 | 国产精品午夜免费福利视频 | 1024手机看片国产 | 黄色软件网站在线观看 | 黄网av在线 | 在线看成人片 | 麻豆影视在线播放 | 五月婷婷综合色拍 | 久久久一本精品99久久精品 | 国产精品免费不卡 | 五月天天在线 | 色欧美成人精品a∨在线观看 | 久久好看| 亚洲在线高清 | 玖玖视频国产 | 最新高清无码专区 | 国产亚洲综合在线 | 日韩精品一区二区三区免费观看视频 | 特片网久久 | 人人艹人人 | 精品国产一区二区久久 | 97视频在线观看视频免费视频 | 国产精品中文字幕在线 | 激情五月婷婷丁香 | 成年人免费看 | 精品人人人 | av在线免费播放网站 | 国产精品1区2区3区 久久免费视频7 | 有码中文字幕在线观看 | 久久精品国产一区二区电影 | 久久久久99精品国产片 | 亚洲精品麻豆视频 | 精品国产免费观看 | 精品视频免费在线 | 91精品国产乱码久久 | 日韩视频二区 | 91丨九色丨国产女 | 有码中文在线 | 韩日精品在线观看 | 久久夜色电影 | 91传媒视频在线观看 | 国产免费高清 | 国产在线观看污片 | www激情com| 免费观看v片在线观看 | 亚洲激情av| 国产 日韩 欧美 在线 | 亚洲国产成人精品在线观看 | 精品国产1区| 成人网色| 亚洲日本中文字幕在线观看 | 成人午夜电影网站 | 狠狠躁天天躁 | 香蕉视频网址 | 在线观看韩日电影免费 | 激情av网址 | 日韩av在线网站 | 亚洲成人av影片 | 欧美日韩在线观看不卡 | 中文字幕色站 | 伊人激情网 | 亚洲黄在线观看 | 国产精品久久一区二区无卡 | 91丨九色丨首页 | 国产又粗又猛又爽又黄的视频免费 | 亚洲一区二区视频在线播放 | 亚洲色图美腿丝袜 | 日韩中文字幕国产 | 欧美 亚洲 另类 激情 另类 | 国产色a在线观看 | 色资源网在线观看 | 香蕉视频在线免费看 | 成年人天堂com | 人人干天天干 | 日韩av免费一区二区 | 免费黄av | 国产精品18久久久久久久网站 | 国产精品一二 | 午夜精品久久久久久久99热影院 | 国产在线不卡精品 | 三级黄色免费片 | 日日操夜夜操狠狠操 | a级黄色片视频 | 天天操夜| 天天躁天天躁天天躁婷 | 日韩欧美一区二区在线 | 伊人干综合 | 精品国产伦一区二区三区 | 国产高清在线观看av | 韩国av在线播放 | 亚洲一区免费在线 | 国产精品第三页 | 98涩涩国产露脸精品国产网 | 99色免费视频 | 午夜精品久久久久久久久久久久 | 97网站| 欧美日韩亚洲国产一区 | 中文字幕九九 | 国产无套一区二区三区久久 | 成人毛片在线视频 | www.天天射 | 日韩精品一区二区三区在线视频 | 日韩av片无码一区二区不卡电影 | 人人爽人人澡 | 久久免费视频7 | 久久99热国产 | 91香蕉视频好色先生 | 国产区精品| 亚洲三级影院 | 最近中文字幕视频完整版 | 国产精品大片免费观看 | 蜜臀av夜夜澡人人爽人人桃色 | 欧美日韩性视频 | 亚洲精品久久久久中文字幕二区 | 在线视频欧美精品 | 久久精品视频免费 | 日日干激情五月 | 人人草在线视频 | 黄色大片中国 | 亚洲精品在线观看免费 | 一区二区三区日韩视频在线观看 | 天天av综合网 | 在线观看aa| 国产高清在线视频 | 日韩视频免费在线观看 | 一区二区三区免费在线观看视频 | 天天干天天做 | 十八岁以下禁止观看的1000个网站 | 91完整版观看 | 欧美精品色| 操夜夜操| 黄色在线观看www | 亚洲精品女 | 中文字幕色综合网 | 欧美日韩精品在线播放 | 9999在线视频 | 午夜精品久久久久久99热明星 | 亚洲精品88欧美一区二区 | 日韩在线影视 | 久久美女免费视频 | 国内精品久久久久影院优 | 亚洲资源在线观看 | 日韩免费在线看 | 欧美日韩亚洲在线观看 | 激情丁香月 | 国产手机视频 | 亚洲精品九九 | 免费看黄色大全 | 久久人人添人人爽添人人88v | 四虎影视av | 91.麻豆视频 | 精品国产资源 | 欧美在线视频第一页 | 91视频在线免费下载 | 亚洲最快最全在线视频 | 国产精品美女久久久久久久 | 中文字幕色在线 | 国产一区二区三区久久久 | 久久久香蕉视频 | 亚洲成人精品国产 | 午夜视频在线观看一区二区 | 亚洲欧美色婷婷 | 青青河边草免费 | 日韩欧美国产激情在线播放 | 国产一二区精品 | 午夜久久电影网 | 91精品一区在线观看 | 久久亚洲私人国产精品 | 国产精品中文字幕在线 | 久久久午夜视频 | 国产精品v a免费视频 | av官网在线 | 亚州性色 | 久久精品免费 | 日韩理论电影在线观看 | 久久一线 | 亚洲三级视频 | 欧美另类性 | 91精品国产一区二区在线观看 | 丁香六月国产 | 婷婷国产一区二区三区 | 在线观看亚洲精品 | 91麻豆精品久久久久久 | 欧美极品裸体 | 五月天久久久久 | 国产精品成久久久久三级 | 成人黄色电影免费观看 | 国产日韩精品在线观看 | 一区在线观看 | 久久久久福利视频 | 天天舔天天射天天操 | 亚洲精品美女 | 日韩v在线91成人自拍 | 日本在线观看黄色 | 国产一卡久久电影永久 | 国产又粗又猛又爽又黄的视频免费 | 亚洲日本在线一区 | 久草在线资源视频 | 在线免费观看的av | 一级特黄av | 91麻豆精品国产91久久久使用方法 | 四虎影视成人精品 | 中文字幕在线视频精品 | 久久久免费视频播放 | 欧美一二在线 | 久影院| 国产青草视频在线观看 | 国产在线 一区二区三区 | 激情开心| 久久这里 | 久久精品久久99精品久久 | 国产精品高潮呻吟久久av无 | 操天天操 | 国产一区二区在线免费 | 福利网址在线观看 | 密桃av在线| 免费av在线网 | av在线直接看 | 久久视频国产 | 国产精品久久艹 | 97色视频在线 | 欧美日韩中文在线观看 | 亚洲日本欧美 | 欧美久久电影 | 夜夜夜夜爽 | 日韩免费看片 | 久久精品中文视频 | 日韩欧美视频在线免费观看 | 人人插超碰 | 经典三级一区 | 午夜精品久久久久久久99热影院 | 97电影手机版 | 狠狠躁夜夜a产精品视频 | 日日干夜夜骑 | 亚洲午夜精品久久久久久久久 | 久久精品中文字幕少妇 | 国产精品久久久久一区 | 天天爱天天草 | 一区二区三区国产精品 | 婷婷去俺也去六月色 | 欧美久久成人 | 美女久久久久久久久久久 | 久久一精品 | 日韩午夜剧场 | 国产黄在线免费观看 | 久热电影| 亚洲黄色av网址 | 激情av在线播放 | 免费国产在线观看 | 欧美精品国产综合久久 | 天躁狠狠躁 | 中文字幕av在线播放 | 久久久久久久久久久电影 | 久久视频这里有久久精品视频11 | 国产精品久久久久久久久久东京 | 最新日韩在线观看视频 | 中文字幕av免费 | 天天插天天色 | 黄色三几片 | 久久黄色免费视频 | 久操免费视频 | 韩国三级av在线 | 成人在线免费看视频 | 九九视频免费 | 中文字幕一区二区三区在线观看 | 欧美日韩一区二区三区视频 | 99在线视频免费观看 | 国产精品一二三 | 亚洲精品在线观看视频 | 久久久久久福利 | 91在线资源 | 96久久欧美麻豆网站 | 国产日韩精品在线观看 | 精品一区二区久久久久久久网站 | 精品嫩模福利一区二区蜜臀 | a级国产乱理论片在线观看 伊人宗合网 | 久久久久久综合网天天 | 最近最新中文字幕视频 | 久久电影网站中文字幕 | 日韩视频一区二区三区在线播放免费观看 | 午夜精品一区二区三区免费 | 国产在线探花 | 久草在线久 | 911精品美国片911久久久 | 日本最大色倩网站www | 一区二区三区高清不卡 | 三级在线视频播放 | 黄色网www | 亚洲一级二级 | 操综合| 毛片播放网站 | 999久久a精品合区久久久 | 99久久精品国产一区二区成人 | 国产明星视频三级a三级点| 中文字幕第一页在线vr | 在线观看视频在线观看 | 国产精品网红直播 | 亚洲精品视频在线看 | 五月激情在线 | 国产精品久久久久久麻豆一区 | 国产成年免费视频 | 91亚洲成人 | 这里只有精品视频在线观看 | 在线播放国产精品 | 亚洲精品男女 | 久久精品看片 | 亚洲一区二区高潮无套美女 | 超碰在线最新地址 | 亚洲精品视频在线观看视频 | 欧美一区日韩精品 | 美国三级黄色大片 | 天天操夜夜拍 | 99热精品久久 | 中文字幕一二三区 | 国产香蕉视频在线播放 | 亚洲综合激情五月 | 欧美精品国产综合久久 | 久久久久免费网站 | 99久久夜色精品国产亚洲 | 激情深爱五月 | 欧美一区中文字幕 | 中文字幕中文字幕在线一区 | 69av视频在线观看 | 99这里都是精品 | 中文字幕一区二区三区四区在线视频 | 九九久久久久久久久激情 | 超碰999 | 97在线视频免费 | 天天色综合天天 | 一区在线播放 | 在线黄色观看 | 色婷婷视频在线 | av福利电影| 成年人视频免费在线 | 色综合在 | 国产中文字幕三区 | 国产 日韩 在线 亚洲 字幕 中文 | 久久小视频 | 在线视频在线观看 | 国产精品四虎 | 亚洲国产精品女人久久久 | 天天操操操操操操 | 黄a网| 久久久久影视 | 天天爽天天射 | 亚洲男男gaygayxxxgv | 日韩一级理论片 | 日本aa在线 | 国产精品一区二区三区99 | 丁香导航| 91网免费观看 | 久久久亚洲国产精品麻豆综合天堂 | 99久久99久久 | 国产成人一区二区精品非洲 | 国产精品久久久久久高潮 | 国产亚洲欧美一区 | 日韩视频免费观看高清 | 中文区中文字幕免费看 | 日韩一区二区三区不卡 | 亚洲视频在线看 | 免费在线观看国产精品 | 伊甸园av在线| 成人小视频在线播放 | 久久电影色 | 亚洲a在线观看 | 亚洲理论在线 | 国产一级二级视频 | 亚洲国产一区在线观看 | 国产美女黄网站免费 | 超碰国产在线播放 | 日韩在线视频看看 | av在线免费观看网站 | 久久精品欧美一区二区三区麻豆 | 免费大片av | 激情综合六月 |