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

首頁 > 系統 > iOS > 正文

iOS開發中實現一個簡單的圖片瀏覽器的實例講解

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

一、程序實現要求

1.要求

201611392120159.png (663×410)

2. 界面分析

(1) 需要讀取或修改屬性的控件需要設置屬性

  • 序號標簽
  • 圖片
  • 圖片描述
  • 左邊按鈕
  • 右邊按鈕

(2) 需要監聽響應事件的對象,需要添加監聽方法

  • 左邊按鈕
  • 右邊按鈕

二、實現基本功能的程序

復制代碼 代碼如下:

//
//  YYViewController.m
//  03-圖片瀏覽器初步
//
//  Created by apple on 14-5-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"

#define POTOIMGW    200
#define POTOIMGH    300
#define POTOIMGX    60
#define  POTOIMGY    50


@interface YYViewController ()

//變量聲明!
@property(nonatomic,strong)UILabel *firstlab;
@property(nonatomic,strong)UILabel *lastlab;
@property(nonatomic,strong)UIImageView *icon;
@property(nonatomic,strong)UIButton *leftbtn;
@property(nonatomic,strong)UIButton *rightbtn;

-(void)change;
@property(nonatomic ,assign)int i;
@end

@implementation YYViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.i=0;
    //創建一個用來顯示序號的lable控件
    UILabel *headlab=[[UILabel alloc]initWithFrame:CGRectMake(20, 10, 300, 30)];
   
  // [headlab setText:@"1/5"];
    [headlab setTextAlignment:NSTextAlignmentCenter];
    [headlab setTextColor:[UIColor blackColor]];
   
    [self.view addSubview:headlab];
    self.firstlab=headlab;
   
   
   
    //創建一個裝載圖片的控件
    UIImageView *potoimg=[[UIImageView alloc]initWithFrame:CGRectMake(POTOIMGX, POTOIMGY, POTOIMGW, POTOIMGH)];
   
    UIImage *image=[UIImage imageNamed:@"biaoqingdi"];
    potoimg.image=image;
   
    [self.view addSubview:potoimg];
    self.icon=potoimg;
   
   
   
    //創建最下邊的描述圖片的lable控件
    UILabel *desclab=[[UILabel alloc]initWithFrame:CGRectMake(20, 400, 300, 30)];
   // [desclab setText:@"表情弱爆了!"];
    [desclab setTextAlignment:NSTextAlignmentCenter];
    [self.view addSubview:desclab];
    self.lastlab=desclab;
   
   
    //創建兩個方向鍵按鈕
    //設置為自定義類型
    //1.使用類創建對象
    UIButton *leftbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    //2.設置對象的屬性(不要忘記設置坐標)
    leftbtn.frame=CGRectMake(0, self.view.center.y, 40, 40);
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_normal"] forState:UIControlStateNormal];
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_highlighted"] forState:UIControlStateHighlighted];
   
    //3.提交對象到視圖
    [self.view addSubview:leftbtn];
   
    self.leftbtn=leftbtn;
    [leftbtn addTarget:self action:@selector(leftclick:) forControlEvents:UIControlEventTouchUpInside];
   
   
    UIButton *rightbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    rightbtn.frame=CGRectMake(POTOIMGX+POTOIMGW+10, self.view.center.y, 40, 40);
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_normal"] forState:UIControlStateNormal];
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_highlighted"] forState:UIControlStateHighlighted];
   
    [self.view addSubview:rightbtn];
   
    self.rightbtn=rightbtn;
    [rightbtn addTarget:self action:@selector(rightclick:) forControlEvents:UIControlEventTouchUpInside];
   
    //這是一個初始化方法,調用change可以完成初始化的工作
    [self change];
}

-(void)change
{
    [self.firstlab setText:[NSString stringWithFormat:@"%d/5",self.i+1]];
    switch (self.i) {
        case 0:
            self.lastlab.text=@"什么表情都弱爆了!";
            self.icon.image=[UIImage imageNamed:@"biaoqingdi"];
            break;
        case 1:
            self.lastlab.text=@"病例";
            self.icon.image=[UIImage imageNamed:@"bingli"];
            break;
        case 2:
           self.lastlab.text=@"王八";
            self.icon.image=[UIImage imageNamed:@"wangba"];
            break;
        case 3:
           self.lastlab.text=@"吃牛扒";
            self.icon.image=[UIImage imageNamed:@"chiniupa"];
            break;
        case 4:
             self.lastlab.text=@"蛋疼!";
            self.icon.image=[UIImage imageNamed:@"danteng"];
            break;
    }
    //控制按鈕的點擊,如果為5則右鍵失效,如果為1,則左鍵失效
    self.leftbtn.enabled=(self.i!=0);
    self.rightbtn.enabled=(self.i!=4);

}

//向右按鍵
-(void)rightclick:(UIButton *)btn
{
    self.i++;
    [self change];
    //NSLog(@"點我了");
}
-(void)leftclick:(UIButton *)btn
{
    self.i--;
    [self change];
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end


三、程序優化
復制代碼 代碼如下:

//
//  YYViewController.m
//  03-圖片瀏覽器初步
//
//  Created by apple on 14-5-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"

#define POTOIMGW    200
#define POTOIMGH    300
#define POTOIMGX    60
#define  POTOIMGY    50


@interface YYViewController ()

//變量聲明!
@property(nonatomic,strong)UILabel *firstlab;
@property(nonatomic,strong)UILabel *lastlab;
@property(nonatomic,strong)UIImageView *icon;
@property(nonatomic,strong)UIButton *leftbtn;
@property(nonatomic,strong)UIButton *rightbtn;

@property(nonatomic,strong)NSArray *array;

-(void)change;
@property(nonatomic ,assign)int i;
@end


復制代碼 代碼如下:

@implementation YYViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.i=0;
    //創建一個用來顯示序號的lable控件
    UILabel *headlab=[[UILabel alloc]initWithFrame:CGRectMake(20, 10, 300, 30)];
   
  // [headlab setText:@"1/5"];
    [headlab setTextAlignment:NSTextAlignmentCenter];
    [headlab setTextColor:[UIColor blackColor]];
   
    [self.view addSubview:headlab];
    self.firstlab=headlab;
   
   
   
    //創建一個裝載圖片的控件
    UIImageView *potoimg=[[UIImageView alloc]initWithFrame:CGRectMake(POTOIMGX, POTOIMGY, POTOIMGW, POTOIMGH)];
   
    UIImage *image=[UIImage imageNamed:@"biaoqingdi"];
    potoimg.image=image;
   
    [self.view addSubview:potoimg];
    self.icon=potoimg;
   
   
   
    //創建最下邊的描述圖片的lable控件
    UILabel *desclab=[[UILabel alloc]initWithFrame:CGRectMake(20, 400, 300, 30)];
   // [desclab setText:@"表情弱爆了!"];
    [desclab setTextAlignment:NSTextAlignmentCenter];
    [self.view addSubview:desclab];
    self.lastlab=desclab;
   
   
   
    //創建兩個方向鍵按鈕
    //設置為自定義類型
    //1.使用類創建對象
    UIButton *leftbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    //2.設置對象的屬性(不要忘記設置坐標)
    leftbtn.frame=CGRectMake(0, self.view.center.y, 40, 40);
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_normal"] forState:UIControlStateNormal];
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_highlighted"] forState:UIControlStateHighlighted];
   
    //3.提交對象到視圖
    [self.view addSubview:leftbtn];
   
    self.leftbtn=leftbtn;
    [leftbtn addTarget:self action:@selector(leftclick:) forControlEvents:UIControlEventTouchUpInside];
   
   
    UIButton *rightbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    rightbtn.frame=CGRectMake(POTOIMGX+POTOIMGW+10, self.view.center.y, 40, 40);
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_normal"] forState:UIControlStateNormal];
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_highlighted"] forState:UIControlStateHighlighted];
   
    [self.view addSubview:rightbtn];
   
    self.rightbtn=rightbtn;
    [rightbtn addTarget:self action:@selector(rightclick:) forControlEvents:UIControlEventTouchUpInside];
    //放在這里的話,只會創建一次,但是這個部分和[self change];部分有很嚴格的順序要求,并不人性化,可以考慮使用懶加載特性
//    NSDictionary *dict1=@{@"name": @"biaoqingdi",@"desc":@"什么表情都弱爆了!"};
//    NSDictionary *dict2=@{@"name": @"bingli",@"desc":@"病例"};
//    NSDictionary *dict3=@{@"name": @"wangba",@"desc":@"烏龜"};
//    NSDictionary *dict4=@{@"name": @"chiniupa",@"desc":@"吃牛扒"};
//    NSDictionary *dict5=@{@"name": @"danteng",@"desc":@"蛋疼"};
//   
//    self.array=@[dict1,dict2,dict3,dict4,dict5];
    //這是一個初始化方法,調用change可以完成初始化的工作
    [self change];
}

-(void)change
{
    //每次調用都需要創建?有沒有什么解決辦法?
//    NSDictionary *dict1=@{@"name": @"biaoqingdi",@"desc":@"什么表情都弱爆了!"};
//    NSDictionary *dict2=@{@"name": @"bingli",@"desc":@"病例"};
//    NSDictionary *dict3=@{@"name": @"wangba",@"desc":@"烏龜"};
//    NSDictionary *dict4=@{@"name": @"chiniupa",@"desc":@"吃牛扒"};
//    NSDictionary *dict5=@{@"name": @"danteng",@"desc":@"蛋疼"};
//   
//    NSArray *array=@[dict1,dict2,dict3,dict4,dict5];
   
   
    //設置照片
    //先根據self.i取出數組中的元素,再取出元素(字典)中鍵值對應的值
//    self.icon.image=[UIImage imageNamed:array[self.i][@"name"]];
//    self.lastlab.text=array[self.i][@"desc"];
   // NSLog(@"%@",array[self.i][@"desc"]);
   
    self.icon.image=[UIImage imageNamed:self.array[self.i][@"name"]];
    self.lastlab.text=self.array[self.i][@"desc"];
   
    [self.firstlab setText:[NSString stringWithFormat:@"%d/5",self.i+1]];
   
//    switch (self.i) {
//        case 0:
//            self.lastlab.text=@"什么表情都弱爆了!";
//            self.icon.image=[UIImage imageNamed:@"biaoqingdi"];
//            break;
//        case 1:
//            self.lastlab.text=@"病例";
//            self.icon.image=[UIImage imageNamed:@"bingli"];
//            break;
//        case 2:
//           self.lastlab.text=@"王八";
//            self.icon.image=[UIImage imageNamed:@"wangba"];
//            break;
//        case 3:
//           self.lastlab.text=@"吃牛扒";
//            self.icon.image=[UIImage imageNamed:@"chiniupa"];
//            break;
//        case 4:
//             self.lastlab.text=@"蛋疼!";
//            self.icon.image=[UIImage imageNamed:@"danteng"];
//            break;
//    }
    //控制按鈕的點擊,如果為5則右鍵失效,如果為1,則左鍵失效
    self.leftbtn.enabled=(self.i!=0);
    self.rightbtn.enabled=(self.i!=4);

}

//array的get方法
-(NSArray *)array
{
    NSLog(@"需要獲取數組");
    //只實例化一次
    if (_array==nil) {
        NSLog(@"實例化數組");
        NSDictionary *dict1=@{@"name": @"biaoqingdi",@"desc":@"什么表情都弱爆了!"};
        NSDictionary *dict2=@{@"name": @"bingli",@"desc":@"病例"};
        NSDictionary *dict3=@{@"name": @"wangba",@"desc":@"烏龜"};
        NSDictionary *dict4=@{@"name": @"chiniupa",@"desc":@"吃牛扒"};
        NSDictionary *dict5=@{@"name": @"danteng",@"desc":@"蛋疼"};
        _array=@[dict1,dict2,dict3,dict4,dict5];
    }
//    NSDictionary *dict1=@{@"name": @"biaoqingdi",@"desc":@"什么表情都弱爆了!"};
//    NSDictionary *dict2=@{@"name": @"bingli",@"desc":@"病例"};
//    NSDictionary *dict3=@{@"name": @"wangba",@"desc":@"烏龜"};
//    NSDictionary *dict4=@{@"name": @"chiniupa",@"desc":@"吃牛扒"};
//    NSDictionary *dict5=@{@"name": @"danteng",@"desc":@"蛋疼"};
   
   // _array=@[dict1,dict2,dict3,dict4,dict5];
    return _array;
}

//向右按鍵
-(void)rightclick:(UIButton *)btn
{
    self.i++;
    [self change];
}

//向左按鍵
-(void)leftclick:(UIButton *)btn
{
    self.i--;
    [self change];
}


- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

@end


說明:

1> 定義控件屬性,注意:屬性必須是strong的,示例代碼如下:

復制代碼 代碼如下:

@property (nonatomic, strong) UIImageView *icon;

2> 在屬性的getter方法中實現懶加載,示例代碼如下:
復制代碼 代碼如下:

- (UIImageView *)icon

{

    if (!_icon) {

        // 計算位置參數

        CGFloat imageW = 200;

        CGFloat imageX = (320 - imageW) / 2;

        CGFloat imageH = 200;

        CGFloat imageY = 80;

        // 實例化圖像視圖

        _icon = [[UIImageView alloc] initWithFrame:CGRectMake(imageX, imageY, imageW, imageH)];

        // 將圖像視圖添加到主視圖

        [self.view addSubview:_icon];

    }

    return _icon;

}


四、使用plist文件

(1)使用Plist文件的目的:將數據與代碼分離

(2)加載方法:

復制代碼 代碼如下:

NSString *path = [[NSBundle mainBundle] pathForResource:@"ImageData" ofType:@"plist"];

_imageList = [NSArray arrayWithContentsOfFile:path];


提示:通常在方法中出現File字眼,通常需要傳遞文件的全路徑作為參數

(3)代碼示例

復制代碼 代碼如下:

//
//  YYViewController.m
//  03-圖片瀏覽器初步
//
//  Created by apple on 14-5-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"

#define POTOIMGW    200
#define POTOIMGH    300
#define POTOIMGX    60
#define  POTOIMGY    50


@interface YYViewController ()

//變量聲明!
@property(nonatomic,strong)UILabel *firstlab;
@property(nonatomic,strong)UILabel *lastlab;
@property(nonatomic,strong)UIImageView *icon;
@property(nonatomic,strong)UIButton *leftbtn;
@property(nonatomic,strong)UIButton *rightbtn;

@property(nonatomic,strong)NSArray *array;

-(void)change;
@property(nonatomic ,assign)int i;
@end


復制代碼 代碼如下:

@implementation YYViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.i=0;
    //創建一個用來顯示序號的lable控件
    UILabel *headlab=[[UILabel alloc]initWithFrame:CGRectMake(20, 10, 300, 30)];
   
  // [headlab setText:@"1/5"];
    [headlab setTextAlignment:NSTextAlignmentCenter];
    [headlab setTextColor:[UIColor blackColor]];
   
    [self.view addSubview:headlab];
    self.firstlab=headlab;
   
   
   
    //創建一個裝載圖片的控件
    UIImageView *potoimg=[[UIImageView alloc]initWithFrame:CGRectMake(POTOIMGX, POTOIMGY, POTOIMGW, POTOIMGH)];
   
    UIImage *image=[UIImage imageNamed:@"biaoqingdi"];
    potoimg.image=image;
   
    [self.view addSubview:potoimg];
    self.icon=potoimg;
   
    //創建最下邊的描述圖片的lable控件
    UILabel *desclab=[[UILabel alloc]initWithFrame:CGRectMake(20, 400, 300, 30)];
   // [desclab setText:@"表情弱爆了!"];
    [desclab setTextAlignment:NSTextAlignmentCenter];
    [self.view addSubview:desclab];
    self.lastlab=desclab;
   
   
    //創建兩個方向鍵按鈕
    //設置為自定義類型
    //1.使用類創建對象
    UIButton *leftbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    //2.設置對象的屬性(不要忘記設置坐標)
    leftbtn.frame=CGRectMake(0, self.view.center.y, 40, 40);
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_normal"] forState:UIControlStateNormal];
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_highlighted"] forState:UIControlStateHighlighted];
   
    //3.提交對象到視圖
    [self.view addSubview:leftbtn];
   
    self.leftbtn=leftbtn;
    [leftbtn addTarget:self action:@selector(leftclick:) forControlEvents:UIControlEventTouchUpInside];
   
   
    UIButton *rightbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    rightbtn.frame=CGRectMake(POTOIMGX+POTOIMGW+10, self.view.center.y, 40, 40);
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_normal"] forState:UIControlStateNormal];
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_highlighted"] forState:UIControlStateHighlighted];
   
    [self.view addSubview:rightbtn];
   
    self.rightbtn=rightbtn;
    [rightbtn addTarget:self action:@selector(rightclick:) forControlEvents:UIControlEventTouchUpInside];
    [self change];
}

-(void)change
{
    self.icon.image=[UIImage imageNamed:self.array[self.i][@"name"]];
    self.lastlab.text=self.array[self.i][@"desc"];
   
    [self.firstlab setText:[NSString stringWithFormat:@"%d/5",self.i+1]];
   
    self.leftbtn.enabled=(self.i!=0);
    self.rightbtn.enabled=(self.i!=4);

}

//array的get方法
-(NSArray *)array
{
    NSLog(@"需要獲取數組");
    //只實例化一次
    if (_array==nil) {
    
        NSString *path=[[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"];
        //數組的數據從文件獲取
       // _array=[NSArray arrayWithContentsOfFile:path];
        _array=[[NSArray alloc]initWithContentsOfFile:path];
        //打印查看包的位置
        NSLog(@"%@",path);
       
       NSLog(@"實例化數組");
    }

    return _array;
}

//向右按鍵
-(void)rightclick:(UIButton *)btn
{
    self.i++;
    [self change];
}

//向左按鍵
-(void)leftclick:(UIButton *)btn
{
    self.i--;
    [self change];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

@end


(4)plist文件

201611392221000.png (868×338)

(5)實現效果

201611392239226.png (640×960)

五、補充

開發思路:

1.完成基本功能

2.考慮性能

(1)(初始化操作,可以直接調用change進行)

(2)因為要控制序號和圖片兩個變量,所以考慮使用字典代替掉switch

(3)每次點擊,字典都需要創建一次,效率地下,可以考慮創建的這部分拿到初始化方法中去,這樣就只需要創建一次就ok了。

(4)考慮缺點(對代碼的順序要求極其嚴格)

(5)懶加載(需要的時候才加載,那么什么時候是需要的時候,及調用get方法的時候)

(6)每次都來一下?效率低下―》只有第一次調用get方法時為空,此時實例化并建立數組,其他時候直接返回成員變量(僅僅執行一次)

注意點:

1.方法的調用堆棧(順序)。

2.使用plist:讓數據的操作更加靈活,把數據弄到外面去,解除耦合性,讓耦合性不要太強。實際上是一個xml,是蘋果定義的一種特殊格式的xml。

3.bundle-包(只讀)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩电影中文字幕在线观看| 91sao在线观看国产| 91精品国产电影| 91av在线免费观看视频| 国产成人在线亚洲欧美| 欧美激情a在线| 欧美自拍视频在线观看| 欧美xxxx做受欧美.88| 亚洲精品欧美日韩| 2019国产精品自在线拍国产不卡| 精品偷拍各种wc美女嘘嘘| 国产视频亚洲精品| 久久亚洲精品毛片| 麻豆一区二区在线观看| 亚洲人成在线观看网站高清| 日韩精品极品视频免费观看| 夜夜狂射影院欧美极品| 久久久久久久999| 一本一本久久a久久精品牛牛影视| 欧美电影免费观看电视剧大全| 自拍偷拍亚洲在线| 日韩成人高清在线| 日韩精品视频在线观看免费| 久久久999成人| 久久免费视频网| 538国产精品视频一区二区| 国产成人精彩在线视频九色| 久久精品中文字幕免费mv| 国产欧美日韩亚洲精品| 97色在线视频观看| 午夜精品免费视频| 国产精品十八以下禁看| 日韩免费av在线| 欧美巨猛xxxx猛交黑人97人| 欧美亚洲另类在线| 亚洲一区二区中文| 一个色综合导航| **欧美日韩vr在线| 欧美亚洲一区在线| 久久久久中文字幕| 一区二区在线视频| 一区二区三区回区在观看免费视频| www国产精品视频| 日韩欧美中文在线| 亚洲第一天堂无码专区| 97色在线视频| 亚洲黄色av网站| 国产精品白丝jk喷水视频一区| 国产精品91久久久| 久久久久久久久久久久久久久久久久av| 亚洲国产91色在线| 久久久久久久久久久国产| 97视频免费在线看| 日韩中文字幕久久| 久久免费精品日本久久中文字幕| 国产精品久久不能| 午夜精品福利视频| 91黑丝在线观看| 亚洲最大的成人网| 欧美激情第99页| 国产日产久久高清欧美一区| 91精品国产高清久久久久久91| 久久精品99久久久香蕉| 精品久久久久久久久久久| 国内精品久久久久久影视8| 欧美区在线播放| 亚洲香蕉伊综合在人在线视看| 最近2019中文免费高清视频观看www99| 成人免费高清完整版在线观看| 久久网福利资源网站| 日日噜噜噜夜夜爽亚洲精品| 国产精品丝袜白浆摸在线| 国产精品18久久久久久首页狼| 亚洲精品福利资源站| 中文字幕av一区二区三区谷原希美| 国产精品网红福利| 国外成人在线播放| 国产香蕉精品视频一区二区三区| 97超碰国产精品女人人人爽| 国产噜噜噜噜久久久久久久久| 亚洲老板91色精品久久| 欧美日韩精品中文字幕| 日本久久久久久久| 久久高清视频免费| 亚洲va欧美va国产综合剧情| 91精品国产乱码久久久久久久久| 红桃视频成人在线观看| 亚洲综合日韩在线| 亚洲国产精品va在线看黑人| 中文字幕日韩综合av| 亚洲成人网在线| 国产一区二区三区在线播放免费观看| 亚洲国产天堂久久综合| 国产精品久久久久久亚洲调教| 国产成人精品一区二区在线| 中文字幕免费精品一区| 欧美日韩国产一中文字不卡| 日韩精品在线播放| 国产免费久久av| 欧美日韩国产二区| 欧美亚洲国产日本| 美女av一区二区三区| 国产91精品最新在线播放| 国色天香2019中文字幕在线观看| 欧美极度另类性三渗透| 欧美性猛交xxxx黑人猛交| 亚洲国产精品久久精品怡红院| 久久成人人人人精品欧| 国产成人午夜视频网址| 三级精品视频久久久久| 久久综合色88| 亚洲国产精品久久久久| 中文字幕日韩在线视频| 国产精品久久久久久久av电影| 日韩成人av网址| 欧美国产日本高清在线| 午夜精品视频在线| 欧美精品少妇videofree| yellow中文字幕久久| 国产精品露脸自拍| 日韩av在线一区二区| 国产欧美一区二区三区久久人妖| 日韩一区二区三区在线播放| 欧美老肥婆性猛交视频| 久久精品夜夜夜夜夜久久| 亚洲女性裸体视频| 亚洲成人久久电影| 国产精品在线看| 91精品视频大全| 国产精品日本精品| 国产精品国产自产拍高清av水多| 性欧美办公室18xxxxhd| 国产女人18毛片水18精品| 国产欧美日韩免费看aⅴ视频| 久久综合五月天| 国产成人高清激情视频在线观看| 国产精品久久视频| 国产成人啪精品视频免费网| 国产精品成人aaaaa网站| 国产精品偷伦一区二区| 国产成人精品在线视频| 国产成人涩涩涩视频在线观看| 精品亚洲va在线va天堂资源站| 欧美成人精品一区二区| 国产69精品久久久久99| 国产经典一区二区| 国产日韩欧美在线观看| 一区二区亚洲欧洲国产日韩| 欧美日韩国产在线看| 国产精品午夜国产小视频| 欧美色道久久88综合亚洲精品| 久久久久久久久久久免费精品| 色偷偷亚洲男人天堂| 日韩欧美中文免费| 91精品免费久久久久久久久| 一区二区三区日韩在线| 国产精品一区二区三区久久久| 久久在线免费观看视频| 日韩精品www| 国产69久久精品成人看| 久久大大胆人体| 国产精品福利在线| 亚洲日本中文字幕免费在线不卡| 亚洲色图第三页|