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

首頁 > 系統(tǒng) > iOS > 正文

iOS開發(fā)之路--仿網(wǎng)易抽屜效果

2020-02-19 15:58:32
字體:
供稿:網(wǎng)友

最終效果圖:


MainStoryBoard示意圖:


BeyondViewController.h

//// BeyondViewController.h// 19_抽屜效果_仿網(wǎng)易//// Created by beyond on 14-8-1.// Copyright (c) 2014年 com.beyond. All rights reserved.//#import #import "LeftTableViewControllerDelegate.h"@interface BeyondViewController : UIViewController// 左半邊 (顯示 的是欄目列表 )@property (weak, nonatomic) IBOutlet UIView *leftView;// 右半邊 (顯示 的是個人信息設置視圖)@property (weak, nonatomic) IBOutlet UIView *rightView;// 最上面,最大的全屏的是主視圖@property (weak, nonatomic) IBOutlet UIView *mainView;// 上面標題狀態(tài)欄視圖中的標題按鈕 (網(wǎng)易的Logo圖片和欄目的名稱 水平排列)@property (weak, nonatomic) IBOutlet UIButton *titleBtn;// mainView的下半部分 是 正文的view,顯示子欄目的view@property (weak, nonatomic) IBOutlet UIView *contentView;// pan 拽 手勢處理- (IBAction)panGesture:(UIPanGestureRecognizer *)sender;// mainView的上半部分 標題狀態(tài)欄視圖中的左,右按鈕- (IBAction)btnClick:(UIButton *)sender;@end

BeyondViewController.m

//// BeyondViewController.m// 19_抽屜效果_仿網(wǎng)易//// Created by beyond on 14-8-1.// Copyright (c) 2014年 com.beyond. All rights reserved.//#import "BeyondViewController.h"#import "LeftTableViewController.h"#import "RightViewController.h"#import "Column.h"#import // 手勢結(jié)束時的x#define kEndX frame.origin.x// 左view的寬度#define kLeftWidth _leftView.frame.size.width// 右view的寬度#define kRightWidth _rightView.frame.size.width// 對協(xié)議進行提前聲明@protocol LeftTableViewControllerDelegate ;@interface BeyondViewController (){  // 手指按下的時候,記住,mainView的起始x  CGFloat _startX;    // 成員變量,記住左邊控制器的實例  LeftTableViewController *_leftVC;  // 成員變量,記住右邊控制器的實例  RightViewController *_rightVC;      // 字典 ,記住所有實例化了 欄目的子控制器,避免每次都重新創(chuàng)建  NSMutableDictionary *_columnViewControllers;  }@end@implementation BeyondViewController// 隱藏狀態(tài)欄- (BOOL)prefersStatusBarHidden{  return YES;}- (void)viewDidLoad{  [super viewDidLoad];    _titleBtn.backgroundColor = [UIColor clearColor];    // 0 字典 ,記住所有實例化了 欄目的子控制器,避免每次都重新創(chuàng)建  _columnViewControllers = [NSMutableDictionary dictionary];    // 0,設置導航條bar的背景 為網(wǎng) 易 紅  //[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bg.png"] forBarMetrics:UIBarMetricsDefault];  // 狀態(tài)條顏色 改成默認的樣式  //[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;    // 1,添加左邊控制器的view到左邊的view里面  _leftVC = [[LeftTableViewController alloc]init];  // 關(guān)鍵代碼 為了拿到左邊控制器的某一行被點擊時候,對應的欄目數(shù)據(jù)模型對象,主控制器成為了左邊控制器的代理,遵守了它定好的協(xié)議,實現(xiàn)了協(xié)議中的方法,從而拿到左邊控制器被點擊行號對應的數(shù)據(jù)模型對象  _leftVC.delegate = self;  _leftVC.view.frame = self.leftView.bounds;    [self.leftView addSubview:_leftVC.view];    // 2,同理,添加右邊控制器的view到右邊的view里面	_rightVC = [[RightViewController alloc]init];    _rightVC.view.frame = self.rightView.bounds;    [self.rightView addSubview:_rightVC.view];  // 3,第一次加載時候,就就應該顯示新聞 子欄目的控制器到導航控制器,再將導航控制器的view添加到 mainView里面  [self firstLoading];    }// 自定義方法,第一次加載時候,就就應該顯示新聞 子欄目的控制器到導航控制器,再將導航控制器的view添加到 mainView里面- (void)firstLoading{  Column * column = [Column columnNamed:@"新聞" imgName:@"news.png" className:@"NewsViewController"];    // 僅需手動調(diào)用一個 LeftViewController的代理 方法,leftTableViewRowClicked,傳遞一個新聞 子欄目即可  [self leftTableViewRowClicked:column];}// pan 拽 手勢處理- (IBAction)panGesture:(UIPanGestureRecognizer *)sender{    // 如果是剛按下的狀態(tài),則記住,mainView的起始x  if (UIGestureRecognizerStateBegan == sender.state) {    _startX = self.mainView.frame.origin.x;  }      // 平移拖動的距離  CGPoint delta = [sender translationInView:_mainView];    CGRect frame = self.mainView.frame;    // 計算新的x值,并做健壯性判斷  kEndX = _startX + delta.x;    // 1,限制最大拖動范圍    if (kEndX >= kLeftWidth) {    kEndX = kLeftWidth;  }  if (kEndX  0) {    // NSLog(@"--調(diào)用頻率相當高--");    _rightView.hidden = YES;    _leftView.hidden = NO;  } else {    _rightView.hidden = NO;    _leftView.hidden = YES;  }      if (UIGestureRecognizerStateEnded == sender.state) {        // 手勢結(jié)束的時候,需進行robust判斷        // 2,分析end松手時候,的位置x,決定展開到什么程度/*    // 2.1 如果只向右拖了一點點,小于 1/2 的左view的寬度,則歸0    if (kEndX = 0) {      kEndX = 0;    }else if (kEndX >= 0.5*kLeftWidth && kEndX  - 0.5*kRightWidth && kEndX 0) {      kEndX = kLeftWidth;    }else if (_startX == 0 && delta.x  0){      // 起始為- kRightWidth,delta.x大于0 代表向右滑動      kEndX = 0;    }          }    // 最后,才設置mainView的新的frame  [UIView animateWithDuration:0.2 animations:^{        self.mainView.frame=frame;  }];        // 最后,為mainView所在的圖層 添加陰影效果  [self addShadowFormainViewWithEndX:kEndX];  }// 自定義方法,為mainView所在的圖層 添加陰影效果 (調(diào)用頻率相當高)- (void)addShadowFormainViewWithEndX:(CGFloat)endX{  // 1,點擊工程,加號,導入第3方框架 #import     // 2,拿到mainView所在的圖層,設置陰影 參數(shù)   // NSLog(@"調(diào)用頻率很高---");  _mainView.layer.shadowColor = [UIColor blackColor].CGColor;  _mainView.layer.shadowOpacity = 0.5;  if (endX >= 0) {    _mainView.layer.shadowOffset = CGSizeMake(-5, 0);  } else {    _mainView.layer.shadowOffset = CGSizeMake(5, 0);  }  }// 單擊按鈕,也一樣可以展開 左右側(cè)邊欄- (IBAction)btnClick:(UIButton *)sender{  // 定義一個臨時變量  CGFloat startX = _mainView.frame.origin.x;      // 先為mainView所在的圖層 添加陰影效果  [self addShadowFormainViewWithEndX:sender.tag == 1?1:-1];      // 定義一個臨時變量  CGFloat tempEndX = 0;  // 左邊的按鈕被單擊  if (1 == sender.tag) {    // 隱藏右半邊    _leftView.hidden = NO;    _rightView.hidden = YES;        if (startX == 0) {      tempEndX = kLeftWidth;    }else if (startX == kLeftWidth){      tempEndX = 0;    }  } else {    // 單擊右邊按鈕, 隱藏左半邊    _leftView.hidden = YES;    _rightView.hidden = NO;    if (startX == 0) {      tempEndX = - kRightWidth;    }else if (startX == - kRightWidth){      tempEndX = 0;    }  }  // 最后才設置mainView的x,調(diào)用抽取出來的公共代碼,設置mainView的x,參數(shù)是endX  [self setmainViewX:tempEndX];    }// 抽取出來的公共代碼,設置mainView的x,參數(shù)是endX- (void)setmainViewX:(CGFloat)endX{  CGRect frame = self.mainView.frame;  frame.origin.x = endX;  [UIView animateWithDuration:0.2 animations:^{    self.mainView.frame=frame;  }];  }// 最關(guān)鍵的方法,左邊控制器的代理 方法,當前左邊控制器中的某一行被點擊的時候 會調(diào)用- (void)leftTableViewRowClicked:(id)columnSelected{  Column *column = (Column *)columnSelected;  // 1,關(guān)閉左邊的控制=======================  // 調(diào)用抽取出來的公共代碼,設置mainView的x,參數(shù)是endX  [self setmainViewX:0];        // 2,更改標題按鈕上面的文字  _titleBtn.titleLabel.text = column.columnName;    // 根據(jù)欄目數(shù)據(jù)模型中的類名,實例化對應欄目的控制器,并且將其設置為導航控制器的根控制器,最后將導航控制器的view添加到mainView中,目的是方便設置導航條,以及,各控制器的跳轉(zhuǎn)      // 2,從緩存字典中取,如果子控制器字典有曾經(jīng)創(chuàng)建過的子控制器,直接取出來用  UIViewController *columnVC = _columnViewControllers[column.columnClassName];  // 如果子控制器字典中沒有保存過該欄目的控制器,才要創(chuàng)建子控制器  if (columnVC == nil) {    Class c = NSClassFromString(column.columnClassName);    columnVC = [[c alloc]init];    // 并且一定要將其放到 子控制器字典里面,存起來    [_columnViewControllers setObject:columnVC forKey:column.columnClassName];  }      // 4,移除contentView中的正在顯示的舊的子view  if (_contentView.subviews.count > 0) {    UIView *oldView = [_contentView subviews][0];    [oldView removeFromSuperview];  }  // 5,最后將子控制器的view添加到contentView中,顯示  columnVC.view.frame = _contentView.bounds;  [self.contentView addSubview:columnVC.view];  NSLog(@"%@",self.contentView);  // 在添加到mainView之前 ,先得到mainView導航控制器的子控制器,并將其移除(如果有的話),然后才將新的欄目對應的子控制器添加到導航控制器容器中,注意,這兒可以用字典 記住 所有的已經(jīng)實例化出來 的欄目子控制器,這樣就避免每次都alloc創(chuàng)建新的欄目子控制器,而是只需要根據(jù)類名,從字典取出上一次實例化了的同一欄目的子控制器即可  }@end

欄目數(shù)據(jù)模型Column.h

//// Column.h// 19_抽屜效果_仿網(wǎng)易//// Created by beyond on 14-8-1.// Copyright (c) 2014年 com.beyond. All rights reserved.//#import // 數(shù)據(jù)模型 代表一個欄目@interface Column : NSObject// 欄目名稱@property (nonatomic,copy)NSString *columnName;// 欄目圖片名稱@property (nonatomic,copy)NSString *columnImgName;// 欄目對應的控制器的類名@property (nonatomic,copy)NSString *columnClassName;// UI控件用weak,字符串用copy,其他對象用strong// 提供一個類方法,即構(gòu)造函數(shù),返回封裝好數(shù)據(jù)的對象(返回id亦可)+ (Column *)columnNamed:(NSString *)columnName imgName:(NSString*)columnImgName className:(NSString *)columnClassName;@end

欄目數(shù)據(jù)模型Column.m

//// Column.m// 19_抽屜效果_仿網(wǎng)易//// Created by beyond on 14-8-1.// Copyright (c) 2014年 com.beyond. All rights reserved.// 數(shù)據(jù)模型 代表一條欄目#import "Column.h"@implementation Column// 返回一個包含了 欄目對應控制器名字的 對象實例+ (Column *)columnNamed:(NSString *)columnName imgName:(NSString *)columnImgName className:(NSString *)columnClassName{  // 為了兼容子類 使用self  Column *column = [[self alloc]init];  column.columnName = columnName;  column.columnImgName = columnImgName;  column.columnClassName = columnClassName;  return column;}@end

左邊控制器定義好的協(xié)議LeftTableViewControllerDelegate.h

//// LeftTableViewControllerDelegate.h// 19_抽屜效果_仿網(wǎng)易//// Created by beyond on 14-8-1.// Copyright (c) 2014年 com.beyond. All rights reserved.//#import #import "Column.h"http:// 左邊控制器 定義的代理/協(xié)議 它通過調(diào)用自己的成員屬性(即代理)的該方法,將數(shù)據(jù)傳遞出去(給它的代理去使用) (其實 是主控制器想要數(shù)據(jù),所以主控制器在實例化左邊控制器的時候,要設置左邊控制器對應的代理 為 主控制器 自身)@protocol LeftTableViewControllerDelegate - (void)leftTableViewRowClicked:(Column *)columnSelected;@end

LeftTableViewController.h

//// LeftTableViewController.h// 19_抽屜效果_仿網(wǎng)易//// Created by beyond on 14-8-1.// Copyright (c) 2014年 com.beyond. All rights reserved.//#import // 對協(xié)議進行提前聲明@protocol LeftTableViewControllerDelegate;@interface LeftTableViewController : UITableViewController// 代理 用weak,防止循環(huán)問題,可以是任意類型,但必須遵守協(xié)議@property (nonatomic,weak) id delegate;@end

LeftTableViewController.m

//
//? LeftTableViewController.m
//? 19_抽屜效果_仿網(wǎng)易
//
//? Created by beyond on 14-8-1.
//? Copyright (c) 2014年 com.beyond. All rights reserved.
//
#import "LeftTableViewController.h"
#import "Column.h"
#import "LeftTableViewControllerDelegate.h"
@interface LeftTableViewController ()
{
??? // 欄目數(shù)組,保存的是左邊欄目列表中的所有欄目對象
??? NSArray *_arr;
}
@end
@implementation LeftTableViewController
- (void)viewDidLoad
{
??? [super viewDidLoad];
??? // 新聞 欄目
??? Column *newsColumn = [Column columnNamed:@"新聞" imgName:@"news.png" className:@"NewsViewController"];
??? // 圖片 欄目
??? Column *picColumn = [Column columnNamed:@"圖片" imgName:@"pic.png" className:@"PicViewController"];
??? // 圖片 欄目
??? Column *commentColumn = [Column columnNamed:@"跟帖" imgName:@"comment.png" className:@"CommentViewController"];
??? // 以后要添加欄目,只要改這里就可以了
???
???
??? // 將欄目對象,一次性全添加到不可變數(shù)組中
??? _arr = @[newsColumn,picColumn,commentColumn];
???
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
??? return _arr.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
??? static NSString *cellID = @"leftVC";
??? // 下面這個dequeue只能用于storyboard或xib中
??? // UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID forIndexPath:indexPath];
??? //
??? UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
???
??? if (cell == nil) {
??????? cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
??? }
???
??? // 設置獨一無二的數(shù)據(jù)
??? Column *column = _arr[indexPath.row];
??? cell.textLabel.text = column.columnName;
??? cell.imageView.image = [UIImage imageNamed:column.columnImgName];
??? return cell;
}

// 點擊一行時,主控制中的主視圖必須展示相應欄目的內(nèi)容,因此,必須實例化對應點擊的行的欄目控制器,并用添加到導航控制器,調(diào)用代理 的方法傳遞數(shù)據(jù)給代理 使用,此處的代理 其實就是 主控制器
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
??? // 先取消默認的點擊 高亮的顏色
??? [tableView deselectRowAtIndexPath:indexPath animated:YES];
??? // 取出對應行的數(shù)據(jù)模型(欄目)
??? Column *column = _arr[indexPath.row];
???
??? if ([self.delegate respondsToSelector:@selector(leftTableViewRowClicked:)]) {
???????
??????? // 傳遞數(shù)據(jù)給主控制器 BeyondViewController,通過代理
??????? // 關(guān)鍵代碼~
??????? [self.delegate leftTableViewRowClicked:column];
??? }
???
???
}
@end

RightViewController.xib


NewsViewController.xib


PicViewController.xib


CommentViewController.xib


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美色视频一区二区三区在线观看| 99久久99久久精品免费看蜜桃| 天堂蜜桃91精品| 丝袜a∨在线一区二区三区不卡| 男女高潮又爽又黄又无遮挡| 少妇人妻一区二区| 国产91在线播放精品91| 三级成人在线| 日本成人7777| 美女诱惑一区| 欧美另类在线观看| 最近2018年在线中文字幕高清| 亚洲人成网站在线播放2019| 日本三日本三级少妇三级66| 日韩av资源| 51国产偷自视频区视频| 国产精品免费看一区二区三区| 日本熟妇毛茸茸丰满| 97超视频在线观看| 成人春色在线观看免费网站| 亚洲国产精品一区二区久久hs| 欧美一区二区三区在| 日韩电影在线观看永久视频免费网站| 无码国产69精品久久久久网站| 色老板亚洲精品一区| 欧美日韩一区二| 亚洲欧美综合v| 深夜福利日韩在线看| 久久国产精品网站| 国产精品网站大全| 中文字幕在线观看免费视频| 91精品产国品一二三产区| 中文字幕91| av在线dvd| 欧美丝袜在线观看| 美女高潮网站| 能看毛片的网站| 18久久久久久| 91免费国产在线观看| 999国产精品一区| 能在线观看的av网站| 亚洲午夜av在线| 丰满湿润大白屁股bbw按摩| 中国一级特黄毛片大片| 91高清视频免费看| 亚洲欧美综合精品久久成人| 国产精品国码视频| 无码人妻精品一区二区三区在线| www.欧美日韩国产在线| 91午夜精品| 99久久婷婷国产精品综合| 一本一本久久a久久精品综合妖精| 91亚洲自偷观看高清| 久久久久久久久亚洲| 114国产精品久久免费观看| xxxx18hd亚洲hd捆绑| 久久久久综合一区二区三区| 亚洲第一天堂在线观看| 夜先锋av资源| 爱草tv视频在线观看992| 国产一区二区三区av电影| 国产日本欧美一区二区三区| 全部毛片永久免费看| 8x福利精品第一导航| 国产成人在线播放| 日本一区免费看| 欧美三级小说| 日韩色图在线观看| 免费一区二区三区在线视频| 大肉大捧一进一出好爽| 国产伦精品一区二区三区视频黑人| 国产又大又粗又硬| 亚洲视频二区| 欧美日韩专区| 亚洲人在线观看视频| 欧美日韩精品欧美日韩精品一综合| 国产精品黄色av| 午夜精品久久久久久久久久蜜桃| 欧美人与性动交a欧美精品| 51免费午夜啪啪| 日韩在线视频不卡| 天天干天天爽| 欧美国产日韩在线观看| 日韩av片免费观看| 日本不卡免费高清视频| 日韩高清在线免费观看| 亚洲人成网站免费播放| 成人午夜在线影视| 日韩精品中文字幕在线观看| 亚洲精品国产精品乱码不卡| 亚洲国内欧美| 日韩欧美电影在线观看| 日韩a∨精品日韩在线观看| 在线播放 亚洲| 国产这里只有精品| 日韩av免费看| 影音先锋5566资源网| 99久久国产免费看| 四虎影视最新网站入口在线观看| 在线成人免费观看| 精精国产xxxx视频在线| 亚洲二区三区四区| 男女视频在线观看网站| 国产日韩欧美亚洲一区| 精华区一区二区三区| 人妻av中文系列| 国产www精品| 欧美一级xxx| 日韩av电影免费观看| 狠狠插狠狠操| 制服丝袜av成人在线看| 国产精品无码乱伦| www.亚洲资源| 国内综合精品午夜久久资源| 国产精品久久中文字幕| 欧美性aaa| 干b视频在线观看| 日韩精品综合一本久道在线视频| 国产三级伦理片| 国产精品视频1区| 欧美精品一区二区性色a+v| 久久久久久久久久久久久久久久av| 精品少妇一二三区| 大香煮伊手机一区| 51国偷自产一区二区三区的来源| 999精品视频在这里| 狠狠久久综合婷婷不卡| 国产成人一区二区三区影院在线| 性金发美女69hd大尺寸| 国产91福利| 警花观音坐莲激情销魂小说| 国产精品久久一区二区三区| 成人欧美在线视频| 深夜福利久久| 国产精品美乳一区二区免费| 国产精品久久久久久久久免费| 性做久久久久久免费观看| 亚洲小说区图片区都市| av影院在线播放| 另类在线视频| 美女啪啪无遮挡免费久久网站| 国内一区在线| 久久综合九色综合97婷婷女人| 亚洲欧美日本免费| 中文字幕精品—区二区四季| 欧美精品二区三区四区免费看视频| 91高跟黑色丝袜呻吟在线观看| 久久久久久久久久久一区| 粉嫩一区二区三区性色av| 黑人巨大精品欧美一区免费视频| 欧美一级专区免费大片| 日韩av最新在线观看| 欧美不卡一区二区三区| 亚洲一级片av| 久久精品免费在线观看| 欧美日韩国产首页在线观看| 四虎一区二区| 日韩亚洲在线观看| 欧美国产精品一区二区| 国产精品动漫网站| 国产精品高清一区二区三区| 成人av.网址在线网站| 日本免费一区二区六区| 国产精品久久久久9999爆乳| 国产v日韩v欧美v| 完全免费av在线播放| 另类综合日韩欧美亚洲| 夜夜嗨av禁果av粉嫩avhd| 国产欧美日韩精品高清二区综合区| 午夜精品久久久内射近拍高清| 91麻豆精品国产91久久久久推荐资源| 内射后入在线观看一区| 久久无码人妻精品一区二区三区| 欧美三级一区二区三区| 国产熟女高潮视频| 中文字幕亚洲综合久久五月天色无吗''| 日韩亚洲欧美成人一区| 丰满岳乱妇一区二区三区| 国产毛片毛片毛片毛片毛片| 欧美xxxx黑人xyx性爽| 婷婷夜色潮精品综合在线| av网站免费观看| 国产chinasex对白videos麻豆| 在线不卡的av| 六月丁香激情综合| 人妻激情偷乱视频一区二区三区| 久久久久久久久久久影院| 欧美激情亚洲综合| 黄色片视频在线| 日韩福利视频在线观看| 国产乱妇乱子在线播视频播放网站| 亚洲欧洲专区| 伊人免费在线观看高清版| 日本黄色网网页| 婷婷综合五月| 欧美在线一区二区视频| 精品一区二区精品| 麻豆专区一区二区三区四区五区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日韩在线视频导航| 日本h片久久| 九九热在线精品视频| 欧美性猛交乱大交| 九七伦理97伦理| 熟妇高潮一区二区三区| av免费观看国产| 男人女人拔萝卜视频| 麻豆国产精品va在线观看不卡| 性欧美在线看片a免费观看| 在线播放av网址| 免费看欧美美女黄的网站| 亚洲精品一区在线观看| 成人免费区一区二区三区| 亚洲av毛片基地| 这里只有精品视频在线观看| 精品欧美一区免费观看α√| 国产日韩三区| 日本在线视频网| 视频一区二区在线播放| 精品国产区一区| 爽爽免费视频| 国产91白丝在线播放| 色天天久久综合婷婷女18| 国产精品进线69影院| 亚洲色图第三页| 亚洲成人直播| 乱老熟女一区二区三区| 亚洲精品小说| 狠狠做六月爱婷婷综合aⅴ| 欧洲亚洲精品在线| 欧美激情一区二区| 日本视频不卡| 免费xxxx性欧美18vr| a篇片在线观看网站| 日本免费一二三区| 97视频在线观看网址| 日韩av片在线免费观看| 国精品日韩欧美一区二区三区| 香港日本韩国三级网站| av在线电影播放| 亚洲一二区在线观看| 欧美一区二区视频观看视频| 日韩在线观看免费高清| 欧美日韩亚洲三区| 香蕉国产在线视频| 影音先锋亚洲一区| 久久精品国产精品亚洲色婷婷| 亚洲第一网站免费视频| 一区二区三区在线播放视频| 国产同性人妖ts口直男| 伊人婷婷久久| 欧美**室bdsm视频| 日韩大胆视频| 91精品免费在线观看| 日本一级淫片免费放| 欧美/亚洲一区| 阿v天堂2014| 91在线码无精品| 亚洲欧美国产高清va在线播放| 国产精品情侣自拍| 韩国av一区二区三区| 最新热久久免费视频| jizz免费一区二区三区| 亚洲精品一区二区三区樱花| 国产+人+亚洲| 婷婷综合久久中文字幕蜜桃三电影| 99久久99久久精品免费| 秋霞在线一区二区| 久久久亚洲网站| 国产精品igao网网址不卡| 国内免费精品永久在线视频| 国产成人无码一区二区在线观看| 欧美xxxxx18| 国产日韩视频在线| 国产精品美女免费视频| 亚洲aⅴ日韩av电影在线观看| 男人天堂网在线观看| 亚洲精品丝袜日韩| 给我免费观看片在线电影的| 在线免费观看av电影| 最新日韩三级| 免费啪视频在线观看| 韩国精品福利一区二区三区| 国产一二精品视频| 欧美激情资源网| 黄视频在线观看网站| 午夜免费播放观看在线视频| 欧美中文字幕在线观看视频| 在线成人黄色| 国产高清在线免费| 午夜视频福利在线观看| 噜噜噜久久,亚洲精品国产品| 成人免费高清在线播放| 国产日韩精品一区二区三区| 中文字幕在线官网| 亚洲一区二区三区在线免费观看| 国产女人水真多18毛片18精品视频| 国产在线一区二区三区欧美| 久久中文亚洲字幕| 久久久久久**毛片大全| 久久av一区二区三区漫画| 亚洲制服欧美久久| 女生裸体免费视频| 亚洲国产精品欧美久久| 熟妇人妻无乱码中文字幕真矢织江| 青青草国产成人99久久| 国产精品羞羞答答在线| 伊人免费视频二| 亚洲人亚洲人成电影网站色| www.性欧美| 免费一区视频| 天天干天天操天天爱| 欧美精品性视频| 欧美精品一区二区三区视频| 日本va欧美va精品| 欧美一性一乱一交一视频| 18av.com视频| 欧美日韩在线中文字幕| 不卡视频一二三四| 成人观看免费完整观看| 视频在线99re| 污污视频网站| 天堂在线中文在线| 欧美日韩国产一区在线| 自拍偷拍亚洲激情| 久久久久99精品成人片我成大片| 国产亚洲欧美中文| gv天堂gv无码男同在线观看|