亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

實例講解iOS應用UI開發之基礎動畫的創建

2020-07-26 03:32:00
字體:
來源:轉載
供稿:網友

一、簡單介紹

CAPropertyAnimation的子類

屬性解析:

fromValue:keyPath相應屬性的初始值

toValue:keyPath相應屬性的結束值

隨著動畫的進行,在長度為duration的持續時間內,keyPath相應屬性的值從fromValue漸漸地變為toValue

如果fillMode=kCAFillModeForwards和removedOnComletion=NO,那么在動畫執行完畢后,圖層會保持顯示動畫執行后的狀態。但在實質上,圖層的屬性值還是動畫執行前的初始值,并沒有真正被改變。

比如,CALayer的position初始值為(0,0),CABasicAnimation的fromValue為(10,10),toValue為(100,100),雖然動畫執行完畢后圖層保持在(100,100)這個位置,實質上圖層的position還是為(0,0)

 

二、平移動畫

代碼示例:

復制代碼 代碼如下:

//
//  YYViewController.m
//  07-核心動畫(基礎動畫)
//
//  Created by apple on 14-6-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"

@interface YYViewController ()
@property(nonatomic,strong)CALayer *myLayer;
@end


復制代碼 代碼如下:

@implementation YYViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
   
    //創建layer
    CALayer *myLayer=[CALayer layer];
    //設置layer的屬性
    myLayer.bounds=CGRectMake(0, 0, 50, 80);
    myLayer.backgroundColor=[UIColor yellowColor].CGColor;
    myLayer.position=CGPointMake(50, 50);
    myLayer.anchorPoint=CGPointMake(0, 0);
    myLayer.cornerRadius=20;
    //添加layer
    [self.view.layer addSublayer:myLayer];
    self.myLayer=myLayer;
}

//設置動畫(基礎動畫)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //1.創建核心動畫
    //    CABasicAnimation *anima=[CABasicAnimation animationWithKeyPath:<#(NSString *)#>]
    CABasicAnimation *anima=[CABasicAnimation animation];
   
    //1.1告訴系統要執行什么樣的動畫
    anima.keyPath=@"position";
    //設置通過動畫,將layer從哪兒移動到哪兒
    anima.fromValue=[NSValue valueWithCGPoint:CGPointMake(0, 0)];
    anima.toValue=[NSValue valueWithCGPoint:CGPointMake(200, 300)];
   
    //1.2設置動畫執行完畢之后不刪除動畫
    anima.removedOnCompletion=NO;
    //1.3設置保存動畫的最新狀態
    anima.fillMode=kCAFillModeForwards;

    //2.添加核心動畫到layer
    [self.myLayer addAnimation:anima forKey:nil];

}
  @end


代碼說明:

 第42行設置的keyPath是@"position",說明要修改的是CALayer的position屬性,也就是會執行平移動畫

 第44,45行,這里的屬性接收的時id類型的參數,因此并不能直接使用CGPoint這種結構體類型,而是要先包裝成NSValue對象后再使用。

 默認情況下,動畫執行完畢后,動畫會自動從CALayer上移除,CALayer又會回到原來的狀態。為了保持動畫執行后的狀態,可以加入第48,50行代碼

byValue和toValue的區別,前者是在當前的位置上增加多少,后者是到指定的位置。
 

執行效果:

2015111793321414.png (348×532)

設置代理:設置動畫的代理,可以監聽動畫的執行過程,這里設置控制器為代理。

代碼示例:

復制代碼 代碼如下:

#import "YYViewController.h"

@interface YYViewController ()
@property(nonatomic,strong)CALayer *myLayer;
@end

@implementation YYViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
   
    //創建layer
    CALayer *myLayer=[CALayer layer];
    //設置layer的屬性
    myLayer.bounds=CGRectMake(0, 0, 50, 80);
    myLayer.backgroundColor=[UIColor yellowColor].CGColor;
    myLayer.position=CGPointMake(50, 50);
    myLayer.anchorPoint=CGPointMake(0, 0);
    myLayer.cornerRadius=20;
    //添加layer
    [self.view.layer addSublayer:myLayer];
    self.myLayer=myLayer;
}

//設置動畫(基礎動畫)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //1.創建核心動畫
    //    CABasicAnimation *anima=[CABasicAnimation animationWithKeyPath:<#(NSString *)#>]
    CABasicAnimation *anima=[CABasicAnimation animation];
   
    //1.1告訴系統要執行什么樣的動畫
    anima.keyPath=@"position";
    //設置通過動畫,將layer從哪兒移動到哪兒
    anima.fromValue=[NSValue valueWithCGPoint:CGPointMake(0, 0)];
    anima.toValue=[NSValue valueWithCGPoint:CGPointMake(200, 300)];
   
    //1.2設置動畫執行完畢之后不刪除動畫
    anima.removedOnCompletion=NO;
    //1.3設置保存動畫的最新狀態
    anima.fillMode=kCAFillModeForwards;
    anima.delegate=self;
    //打印
    NSString *str=NSStringFromCGPoint(self.myLayer.position);
    NSLog(@"執行前:%@",str);
    
    //2.添加核心動畫到layer
    [self.myLayer addAnimation:anima forKey:nil];

}

-(void)animationDidStart:(CAAnimation *)anim
{
    NSLog(@"開始執行動畫");
}

-(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
    //動畫執行完畢,打印執行完畢后的position值
    NSString *str=NSStringFromCGPoint(self.myLayer.position);
    NSLog(@"執行后:%@",str);
}

@end


打印position的屬性值,驗證圖層的屬性值還是動畫執行前的初始值{50,50},并沒有真正被改變為{200,300}。

2015111793357095.png (877×105)

三、縮放動畫

實現縮放動畫的代碼示例:

復制代碼 代碼如下:

//
//  YYViewController.m
//  08-核心動畫平移
//
//  Created by apple on 14-6-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"

@interface YYViewController ()
@property(nonatomic,strong)CALayer *myLayer;
@end


復制代碼 代碼如下:

@implementation YYViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
   
    //創建layer
    CALayer *myLayer=[CALayer layer];
    //設置layer的屬性
    myLayer.bounds=CGRectMake(0, 0, 150, 60);
    myLayer.backgroundColor=[UIColor yellowColor].CGColor;
    myLayer.position=CGPointMake(50, 50);
    myLayer.anchorPoint=CGPointMake(0, 0);
    myLayer.cornerRadius=40;
    //添加layer
    [self.view.layer addSublayer:myLayer];
    self.myLayer=myLayer;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //1.創建動畫
    CABasicAnimation *anima=[CABasicAnimation animationWithKeyPath:@"bounds"];
    //1.1設置動畫執行時間
    anima.duration=2.0;
    //1.2設置動畫執行完畢后不刪除動畫
    anima.removedOnCompletion=NO;
    //1.3設置保存動畫的最新狀態
    anima.fillMode=kCAFillModeForwards;
    //1.4修改屬性,執行動畫
    anima.toValue=[NSValue valueWithCGRect:CGRectMake(0, 0, 200, 200)];
    //2.添加動畫到layer
    [self.myLayer addAnimation:anima forKey:nil];
}

@end


實現效果:

2015111793435216.png (348×532)

四、旋轉動畫

代碼示例:

復制代碼 代碼如下:

//
//  YYViewController.m
//  09-核心動畫旋轉
//
//  Created by apple on 14-6-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"

@interface YYViewController ()
@property(nonatomic,strong)CALayer *myLayer;
@end


復制代碼 代碼如下:

@implementation YYViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
   
    //創建layer
    CALayer *myLayer=[CALayer layer];
    //設置layer的屬性
    myLayer.bounds=CGRectMake(0, 0, 150, 60);
    myLayer.backgroundColor=[UIColor yellowColor].CGColor;
    myLayer.position=CGPointMake(50, 50);
    myLayer.anchorPoint=CGPointMake(0, 0);
    myLayer.cornerRadius=40;
    //添加layer
    [self.view.layer addSublayer:myLayer];
    self.myLayer=myLayer;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //1.創建動畫
    CABasicAnimation *anima=[CABasicAnimation animationWithKeyPath:@"transform"];
    //1.1設置動畫執行時間
    anima.duration=2.0;
    //1.2修改屬性,執行動畫
    anima.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI_2+M_PI_4, 1, 1, 0)];
    //1.3設置動畫執行完畢后不刪除動畫
    anima.removedOnCompletion=NO;
    //1.4設置保存動畫的最新狀態
    anima.fillMode=kCAFillModeForwards;
   
    //2.添加動畫到layer
    [self.myLayer addAnimation:anima forKey:nil];
}
@end


實現效果:

2015111793457814.png (348×532)

補充:

可以通過transform(KVC)的方式來進行設置。

代碼示例(平移):

復制代碼 代碼如下:

#import "YYViewController.h"

@interface YYViewController ()
@property(nonatomic,strong)CALayer *myLayer;
@end


復制代碼 代碼如下:

@implementation YYViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
   
    //創建layer
    CALayer *myLayer=[CALayer layer];
    //設置layer的屬性
    myLayer.bounds=CGRectMake(0, 0, 150, 60);
    myLayer.backgroundColor=[UIColor yellowColor].CGColor;
    myLayer.position=CGPointMake(50, 50);
    myLayer.anchorPoint=CGPointMake(0, 0);
    myLayer.cornerRadius=40;
    //添加layer
    [self.view.layer addSublayer:myLayer];
    self.myLayer=myLayer;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //1.創建動畫
    CABasicAnimation *anima=[CABasicAnimation animation];
    anima.keyPath=@"transform";
    //1.1設置動畫執行時間
    anima.duration=2.0;
    //1.2修改屬性,執行動畫
 
    anima.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeTranslation(0, 100, 1)];
    //1.3設置動畫執行完畢后不刪除動畫
    anima.removedOnCompletion=NO;
    //1.4設置保存動畫的最新狀態
    anima.fillMode=kCAFillModeForwards;
   
    //2.添加動畫到layer
    [self.myLayer addAnimation:anima forKey:nil];
}


實現效果:

繪制的圖形在y的方向上移動100個單位。

2015111793535791.png (348×532)

五、關鍵幀動畫

1.簡單介紹

是CApropertyAnimation的子類,跟CABasicAnimation的區別是:CABasicAnimation只能從一個數值(fromValue)變到另一個數值(toValue),而CAKeyframeAnimation會使用一個NSArray保存這些數值

屬性解析:

values:就是上述的NSArray對象。里面的元素稱為”關鍵幀”(keyframe)。動畫對象會在指定的時間(duration)內,依次顯示values數組中的每一個關鍵幀

path:可以設置一個CGPathRef/CGMutablePathRef,讓層跟著路徑移動。path只對CALayer的anchorPoint和position起作用。如果你設置了path,那么values將被忽略

keyTimes:可以為對應的關鍵幀指定對應的時間點,其取值范圍為0到1.0,keyTimes中的每一個時間值都對應values中的每一幀.當keyTimes沒有設置的時候,各個關鍵幀的時間是平分的

說明:CABasicAnimation可看做是最多只有2個關鍵幀的CAKeyframeAnimation

2.代碼示例

第一種方式:

代碼:

復制代碼 代碼如下:

//
//  YYViewController.m
//  10-核心動畫(關鍵幀動畫1)
//
//  Created by apple on 14-6-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"

@interface YYViewController ()
@property (weak, nonatomic) IBOutlet UIView *customView;

@end


復制代碼 代碼如下:

@implementation YYViewController


-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //1.創建核心動畫
    CAKeyframeAnimation *keyAnima=[CAKeyframeAnimation animation];
    //平移
    keyAnima.keyPath=@"position";
    //1.1告訴系統要執行什么動畫
    NSValue *value1=[NSValue valueWithCGPoint:CGPointMake(100, 100)];
    NSValue *value2=[NSValue valueWithCGPoint:CGPointMake(200, 100)];
    NSValue *value3=[NSValue valueWithCGPoint:CGPointMake(200, 200)];
    NSValue *value4=[NSValue valueWithCGPoint:CGPointMake(100, 200)];
    NSValue *value5=[NSValue valueWithCGPoint:CGPointMake(100, 100)];
    keyAnima.values=@[value1,value2,value3,value4,value5];
    //1.2設置動畫執行完畢后,不刪除動畫
    keyAnima.removedOnCompletion=NO;
    //1.3設置保存動畫的最新狀態
    keyAnima.fillMode=kCAFillModeForwards;
    //1.4設置動畫執行的時間
    keyAnima.duration=4.0;
    //1.5設置動畫的節奏
    keyAnima.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
   
    //設置代理,開始―結束
    keyAnima.delegate=self;
    //2.添加核心動畫
    [self.customView.layer addAnimation:keyAnima forKey:nil];
}

-(void)animationDidStart:(CAAnimation *)anim
{
    NSLog(@"開始動畫");
}

-(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
    NSLog(@"結束動畫");
}
@end


說明:這個項目在storyboard中拖入了一個view,并和控制器中的custom進行了關聯。

效果和打印結果:

2015111793612382.png (996×372)

補充:設置動畫的節奏

2015111793633341.png (591×323)

第二種方式(使用path)讓layer在指定的路徑上移動(畫圓):

代碼:

復制代碼 代碼如下:

#import "YYViewController.h"

@interface YYViewController ()
@property (weak, nonatomic) IBOutlet UIView *customView;

@end


復制代碼 代碼如下:

@implementation YYViewController


-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //1.創建核心動畫
    CAKeyframeAnimation *keyAnima=[CAKeyframeAnimation animation];
    //平移
    keyAnima.keyPath=@"position";
    //1.1告訴系統要執行什么動畫
    //創建一條路徑
    CGMutablePathRef path=CGPathCreateMutable();
    //設置一個圓的路徑
    CGPathAddEllipseInRect(path, NULL, CGRectMake(150, 100, 100, 100));
    keyAnima.path=path;
   
    //有create就一定要有release
    CGPathRelease(path);
    //1.2設置動畫執行完畢后,不刪除動畫
    keyAnima.removedOnCompletion=NO;
    //1.3設置保存動畫的最新狀態
    keyAnima.fillMode=kCAFillModeForwards;
    //1.4設置動畫執行的時間
    keyAnima.duration=5.0;
    //1.5設置動畫的節奏
    keyAnima.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
   
    //設置代理,開始―結束
    keyAnima.delegate=self;
    //2.添加核心動畫
    [self.customView.layer addAnimation:keyAnima forKey:nil];
}

-(void)animationDidStart:(CAAnimation *)anim
{
    NSLog(@"開始動畫");
}

-(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
    NSLog(@"結束動畫");
}
@end


說明:可以通過path屬性,讓layer在指定的軌跡上運動。

停止動畫:

復制代碼 代碼如下:

#import "YYViewController.h"

@interface YYViewController ()
@property (weak, nonatomic) IBOutlet UIView *customView;
- (IBAction)stopOnClick:(UIButton *)sender;

@end


復制代碼 代碼如下:

@implementation YYViewController


-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //1.創建核心動畫
    CAKeyframeAnimation *keyAnima=[CAKeyframeAnimation animation];
    //平移
    keyAnima.keyPath=@"position";
    //1.1告訴系統要執行什么動畫
    //創建一條路徑
    CGMutablePathRef path=CGPathCreateMutable();
    //設置一個圓的路徑
    CGPathAddEllipseInRect(path, NULL, CGRectMake(150, 100, 100, 100));
    keyAnima.path=path;
   
    //有create就一定要有release
    CGPathRelease(path);
    //1.2設置動畫執行完畢后,不刪除動畫
    keyAnima.removedOnCompletion=NO;
    //1.3設置保存動畫的最新狀態
    keyAnima.fillMode=kCAFillModeForwards;
    //1.4設置動畫執行的時間
    keyAnima.duration=5.0;
    //1.5設置動畫的節奏
    keyAnima.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
   
    //2.添加核心動畫
    [self.customView.layer addAnimation:keyAnima forKey:@"wendingding"];
}

- (IBAction)stopOnClick:(UIButton *)sender {
    //停止self.customView.layer上名稱標示為wendingding的動畫
    [self.customView.layer removeAnimationForKey:@"wendingding"];
}
@end


2015111793655932.png (434×616)

點擊停止動畫,程序內部會調用  [self.customView.layer removeAnimationForKey:@"wendingding"];停止self.customView.layer上名稱標示為wendingding的動畫。

3.圖標抖動

代碼示例:

復制代碼 代碼如下:

//
//  YYViewController.m
//  12-圖標抖動
//
//  Created by apple on 14-6-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"
#define angle2Radian(angle)  ((angle)/180.0*M_PI)

@interface YYViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *iconView;

@end


復制代碼 代碼如下:

@implementation YYViewController

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //1.創建核心動畫
    CAKeyframeAnimation *keyAnima=[CAKeyframeAnimation animation];
    keyAnima.keyPath=@"transform.rotation";
    //設置動畫時間
    keyAnima.duration=0.1;
    //設置圖標抖動弧度
    //把度數轉換為弧度  度數/180*M_PI
    keyAnima.values=@[@(-angle2Radian(4)),@(angle2Radian(4)),@(-angle2Radian(4))];
    //設置動畫的重復次數(設置為最大值)
    keyAnima.repeatCount=MAXFLOAT;
   
    keyAnima.fillMode=kCAFillModeForwards;
    keyAnima.removedOnCompletion=NO;
    //2.添加動畫
    [self.iconView.layer addAnimation:keyAnima forKey:nil];
}

@end


說明:圖標向左向右偏轉一個弧度(4),產生抖動的視覺效果。

程序界面:
2015111793717112.png (348×532) 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久久久久久一区二区| 欧美日韩国产在线播放| 久久精品99国产精品酒店日本| 91久久精品国产91久久| 亚洲日本aⅴ片在线观看香蕉| 亚洲一区亚洲二区亚洲三区| 国产精品免费久久久久久| 97超级碰碰人国产在线观看| 欧美小视频在线观看| 亚洲一区二区久久久| 成人免费xxxxx在线观看| 91精品久久久久久久久不口人| 92福利视频午夜1000合集在线观看| 精品久久久久久久久久久久| 国产成人精品一区二区| 国产精品日日做人人爱| 久久这里有精品| 国产精品99久久久久久久久| 欧美性少妇18aaaa视频| 国产高清在线不卡| 色偷偷av一区二区三区乱| 亚洲国产精品成人va在线观看| 久久视频免费在线播放| 久久久女人电视剧免费播放下载| 欧美成人精品在线| 日韩av电影国产| 欧美电影《睫毛膏》| 国产精品久久久久久久久久久久久| 亚洲经典中文字幕| 91精品国产99| 国产99视频在线观看| 久久69精品久久久久久国产越南| 精品一区二区三区四区| 日本在线精品视频| 国产精品夫妻激情| 在线观看成人黄色| 国产不卡av在线| 国产精品免费电影| 成人在线播放av| 成人免费大片黄在线播放| 国产日韩欧美在线| 亚洲精品www久久久久久广东| 黑人极品videos精品欧美裸| 欧美午夜精品久久久久久人妖| 成人性生交大片免费看视频直播| 色久欧美在线视频观看| 国产精品99久久久久久久久| 国产日韩精品一区二区| 国产午夜一区二区| 日韩黄色av网站| 久久久久久这里只有精品| 成人免费视频网| 欧美一区二区大胆人体摄影专业网站| 日韩三级成人av网| 日韩高清有码在线| 亚洲va欧美va在线观看| 色偷偷av一区二区三区乱| 国产一区二区在线免费| 国内精品久久久久影院 日本资源| 色偷偷av一区二区三区乱| 91精品国产自产在线老师啪| 国内精品久久久久久影视8| 美女精品视频一区| 中国人与牲禽动交精品| 菠萝蜜影院一区二区免费| 欧美日韩国产综合视频在线观看中文| 2019国产精品自在线拍国产不卡| 国产欧美中文字幕| 国产精品99久久久久久白浆小说| 精品国产欧美一区二区三区成人| 亚洲欧美在线一区二区| 69久久夜色精品国产69| 亚洲精品97久久| 97视频网站入口| 国产欧美一区二区三区久久人妖| 亚洲aⅴ日韩av电影在线观看| 久久国产精品首页| 亚洲女同性videos| 欧美区二区三区| 亚洲片在线资源| 在线视频亚洲欧美| 97精品一区二区视频在线观看| 久久久久久网址| 久久久精品一区二区三区| www.日韩不卡电影av| 亚洲色图综合久久| 国产999视频| 国产精品91久久久久久| 国产综合久久久久| 欧美激情亚洲综合一区| 美日韩在线视频| 5566日本婷婷色中文字幕97| 欧美视频在线视频| 国产精品吴梦梦| 日韩精品视频免费专区在线播放| 国产精品96久久久久久| 57pao国产成人免费| 91久久嫩草影院一区二区| 日韩精品中文字| 国产精品久久久久久久久久尿| 亚洲成av人影院在线观看| 久久天天躁狠狠躁夜夜躁2014| 欧美在线激情网| 在线视频中文亚洲| 亚洲精品av在线| 亚洲精品日韩激情在线电影| 性欧美xxxx视频在线观看| 懂色av中文一区二区三区天美| 欧美二区在线播放| xxxxx91麻豆| 91精品国产91久久久久久最新| 久久久爽爽爽美女图片| 国产一区二区三区视频| 国产精品99导航| 日韩经典中文字幕在线观看| 成人观看高清在线观看免费| 色视频www在线播放国产成人| 国产精品第1页| 亚洲欧洲在线观看| 欧美在线视频网站| 久久综合国产精品台湾中文娱乐网| 亚洲色图五月天| 川上优av一区二区线观看| 日韩av影视综合网| 国产精品福利网| 亚洲美女精品成人在线视频| 国产精品午夜一区二区欲梦| 日韩精品视频在线免费观看| 亚洲在线一区二区| 国产一区二区三区在线看| 91久久久久久久久久久| 国产精品麻豆va在线播放| 国产精品一区=区| 美女福利精品视频| 日韩中文字幕在线看| 亚洲性生活视频在线观看| 97超碰蝌蚪网人人做人人爽| 国产精品激情av在线播放| 亚洲视频自拍偷拍| 日本国产一区二区三区| 国产色综合天天综合网| 96sao精品视频在线观看| www.亚洲一区| 一本一道久久a久久精品逆3p| 国产精品av免费在线观看| 欧美在线观看日本一区| 国产精品一久久香蕉国产线看观看| 欧美亚洲视频在线看网址| 国产精品亚洲视频在线观看| 国产在线播放91| 欧美在线播放视频| 日韩精品视频在线免费观看| 成人福利网站在线观看| 国产精品久久久久av免费| 色综合视频一区中文字幕| 欧美激情在线狂野欧美精品| 欧美最猛性xxxxx(亚洲精品)| 日韩中文字幕在线| 国产精品视频公开费视频| 亚洲成人av片| 亚洲欧美激情四射在线日| 色小说视频一区| 日韩在线视频网站| 国产欧美精品一区二区|