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

首頁 > 系統 > iOS > 正文

iOS開發中導航控制器的基本使用教程

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

多控制器和導航控制器簡單介紹
一、多控制器

一個iOS的app很少只由一個控制器組成,除非這個app極其簡單。當app中有多個控制器的時候,我們就需要對這些控制器進行管理

有多個view時,可以用一個大的view去管理1個或者多個小view,控制器也是如此,用1個控制器去管理其他多個控制器

比如,用一個控制器A去管理3個控制器B、C、D??刂破鰽被稱為控制器B、C、D的“父控制器”;控制器B、C、D的被稱為控制器A的“子控制器”

為了便于管理控制器,iOS提供了2個比較特殊的控制器

  • UINavigationController
  • UITabBarController

二、導航控制器

利用UINavigationController,可以輕松地管理多個控制器,輕松完成控制器之間的切換,典型例子就是系統自帶的“設置”應用

如圖:

2015112793127742.png (633×266)

三、UINavigationController的使用步驟

(1)初始化UINavigationController

(2)設置UIWindow的rootViewController為UINavigationController

(3)根據具體情況,通過push方法添加對應個數的子控制器

復制代碼 代碼如下:

#import "YYAppDelegate.h"
#import "YYOneViewController.h"

@implementation YYAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
   
    //1.創建一個導航控制器
    UINavigationController *nav=[[UINavigationController alloc]init];
    //2.設置導航控制器為window的根視圖
    self.window.rootViewController=nav;

   
    //3.添加子控制器到導航控制器中
    //創建一些控制器
    UIViewController *c1=[[UIViewController alloc]init];
    //設置c1這個控制器的視圖顏色
    c1.view.backgroundColor=[UIColor redColor];
   
    UIViewController *c2=[[UIViewController alloc]init];
    c2.view.backgroundColor=[UIColor purpleColor];
   
    UIViewController *c3=[[UIViewController alloc]init];
    c3.view.backgroundColor=[UIColor brownColor];
   
//把這些控制器添加到導航控制器中
    [nav pushViewController:c1 animated:YES];
    [nav pushViewController:c2 animated:YES];
    [nav pushViewController:c3 animated:YES];
   
    [self.window makeKeyAndVisible];
    return YES;
}


運行模擬器,可以看到一個簡陋的有著三個子控制器管理著頁面。

但呈現在我們眼前的只能有一個界面,我們沒有必要一次性創建三個控制器在這里等著。

要求:創建三個子控制器,每個子控制器view的界面上放一個按鈕,點擊可以跳轉到下一個界面。

實現(完成三個頁面間通過按鈕進行簡單的跳轉):

說明:這里把第一個子控制器的創建等代碼寫在了代理方法中。

YYAppDelegate.m文件代碼

復制代碼 代碼如下:

//
//  YYAppDelegate.m
//  01-導航控制器的使用1
//
//  Created by apple on 14-6-4.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYAppDelegate.h"
#import "YYOneViewController.h"

@implementation YYAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
   
    //1.創建一個導航控制器
    UINavigationController *nav=[[UINavigationController alloc]init];
    //2.設置導航控制器為window的根視圖
    self.window.rootViewController=nav;

   
    //3.添加子控制器到導航控制器中
    YYOneViewController *one=[[YYOneViewController alloc]init];
    [nav pushViewController:one animated:YES];
   
    [self.window makeKeyAndVisible];
    return YES;
   
   
//    //創建一些控制器
//    UIViewController *c1=[[UIViewController alloc]init];
//    //設置c1這個控制器的視圖顏色
//    c1.view.backgroundColor=[UIColor redColor];
//   
//    UIViewController *c2=[[UIViewController alloc]init];
//    c2.view.backgroundColor=[UIColor purpleColor];
//   
//    UIViewController *c3=[[UIViewController alloc]init];
//    c3.view.backgroundColor=[UIColor brownColor];
//   
////把這些控制器添加到導航控制器中
//    [nav pushViewController:c1 animated:YES];
//    [nav pushViewController:c2 animated:YES];
//    [nav pushViewController:c3 animated:YES];
}


創建三個子控件類及對應的xib文件
復制代碼 代碼如下:

YYOneViewController.m文件
//
//  YYOneViewController.m
//  01-導航控制器的使用1
//
//  Created by apple on 14-6-4.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYOneViewController.h"
#import "YYTwoViewController.h"

@interface YYOneViewController ()
/**
 跳轉到第二個界面
 */
- (IBAction)jump2two:(id)sender;

@end


復制代碼 代碼如下:

@implementation YYOneViewController


- (IBAction)jump2two:(id)sender {
    //1.創建第二個子控制器
    YYTwoViewController *two=[[YYTwoViewController alloc]init];
   
    //2.把子控制器添加到導航控制器中
    //有什么辦法能夠拿到導航控制器?
     //只要當前控制器是導航控制器的子控制器,那么就可以通過該屬性直接獲取到當前控制器所在的導航控制器
    [self.navigationController pushViewController:two animated:YES];
}
@end


復制代碼 代碼如下:

YYTwoViewController.m文件
//
//  YYTwoViewController.m
//  01-導航控制器的使用1
//
//  Created by apple on 14-6-4.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYTwoViewController.h"
#import "YYThreeViewController.h"
@interface YYTwoViewController ()
- (IBAction)jump2Three:(id)sender;

@end


復制代碼 代碼如下:

@implementation YYTwoViewController

//跳轉到第三個子控制器
- (IBAction)jump2Three:(id)sender {
    //1.創建第三個子控制器
    YYThreeViewController *three=[[YYThreeViewController alloc]init];
    //2.將子控制器添加到導航控制器中
    [self.navigationController pushViewController:three animated:YES];
   
}
@end


示:只要當前控制器是導航控制器的子控制器,那么就可以通過self.navigationController屬性直接獲取到當前控制器所在的導航控制器

項目文件結構和運行效果:

2015112793411187.png (585×502)

導航控制器屬性和基本使用
一、導航控制器的一些屬性和基本使用

1.把子控制器添加到導航控制器中的四種方法

(1)

 1.創建一個導航控制器

復制代碼 代碼如下:

    UINavigationController *nav=[[UINavigationControlleralloc]init];

2.設置導航控制器為window的根視圖

復制代碼 代碼如下:

    self.window.rootViewController=nav;

3.添加

復制代碼 代碼如下:

    YYOneViewController  *one = [[YYOneViewController  alloc] init];

    [nav pushViewController:one animated:YES];

(2)

 1.創建一個導航控制器

復制代碼 代碼如下:

       UINavigationController *nav=[[UINavigationControlleralloc]init];

 2.設置導航控制器為window的根視圖
復制代碼 代碼如下:

 self.window.rootViewController=nav;

 3.添加
復制代碼 代碼如下:

YYOneViewController  *one = [[YYOneViewController  alloc] init];

 [nav addChildViewController:one];

(3)

 1.創建一個導航控制器

復制代碼 代碼如下:

       UINavigationController *nav=[[UINavigationControlleralloc]init];

 2.設置導航控制器為window的根視圖
復制代碼 代碼如下:

 self.window.rootViewController=nav;

3.添加
復制代碼 代碼如下:

YYOneViewController  *one = [[YYOneViewController  alloc] init];

nav.viewControllers=@[one];

(添加到導航控制器的棧中)

說明:

復制代碼 代碼如下:
nav.viewControllers;== nav.childViewControllers;
注意該屬性是只讀的,因此不能像下面這樣寫。
復制代碼 代碼如下:
nav.childViewControllers = @[one];

(4)最常用的方法

復制代碼 代碼如下:

 YYOneViewController *one=[[YYOneViewController alloc]init];

 UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:one];


 

2.當前子控制器界面導航欄的標題以及對應返回標題的設置

復制代碼 代碼如下:

    self.navigationItem.title=@"第一個界面";

    self.navigationItem.backBarButtonItem=[[UIBarButtonItemalloc]initWithTitle:@"返回一" style:UIBarButtonItemStylePlain target:nilaction:nil];


3.給導航欄添加按鈕

說明:可添加一個,也可以添加多個(數組)

   添加導航欄左邊的按鈕(添加一個相機圖標的按鈕),會蓋掉返回

復制代碼 代碼如下:

    self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];

4.界面跳轉

跳轉到第二個界面(當前為第三個,移除當前棧頂的控制器)

 

復制代碼 代碼如下:

[self.navigationControllerpopViewControllerAnimated:YES];


   移除處理棧底控制器之外的所有控制器 

復制代碼 代碼如下:

 [self.navigationControllerpopToRootViewControllerAnimated:YES];


  只要傳入棧中的某一個控制器,就會跳轉到指定控制器

復制代碼 代碼如下:

[self.navigationController popToViewController:<#(UIViewController *)#> animated:<#(BOOL)#>];


二、代碼示例

YYAppDelegate.m文件

復制代碼 代碼如下:

//
//  YYAppDelegate.m
//  01-導航控制器的使用1
//
//  Created by apple on 14-6-4.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYAppDelegate.h"
#import "YYOneViewController.h"

@implementation YYAppDelegate

//應用程序啟動完畢即會調用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
   
   
    //3.添加子控制器到導航控制器中
    //第一種也是最常用的一種
//    YYOneViewController *one=[[YYOneViewController alloc]init];
//    UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:one];
   
    //1.創建一個導航控制器
    UINavigationController *nav=[[UINavigationController alloc]init];
    //2.設置導航控制器為window的根視圖
    self.window.rootViewController=nav;
   
    //第二種
    YYOneViewController  *one = [[YYOneViewController  alloc] init];
    [nav pushViewController:one animated:YES];
   
    //第三種
//    [nav addChildViewController:one];
//    第四種(添加到導航控制器的棧中)
//    nav.viewControllers=@[one];
   
    // 導航控制器的棧
    //    nav.viewControllers;== nav.childViewControllers;
    // 注意該屬性是只讀的,因此不能像下面這樣寫
    //    nav.childViewControllers = @[one];
   
   
    [self.window makeKeyAndVisible];
    return YES;
}

@end


YYOneViewController.m文件
復制代碼 代碼如下:

//
//  YYOneViewController.m
//  01-導航控制器的使用1
//
//  Created by apple on 14-6-4.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYOneViewController.h"
#import "YYTwoViewController.h"

@interface YYOneViewController ()
/**
 跳轉到第二個界面
 */
- (IBAction)jump2two:(id)sender;

@end


復制代碼 代碼如下:

@implementation YYOneViewController


- (IBAction)jump2two:(id)sender {
    //1.創建第二個子控制器
    YYTwoViewController *two=[[YYTwoViewController alloc]init];
   
    //2.把子控制器添加到導航控制器中
    //有什么辦法能夠拿到導航控制器?
     //只要當前控制器是導航控制器的子控制器,那么就可以通過該屬性直接獲取到當前控制器所在的導航控制器
    [self.navigationController pushViewController:two animated:YES];
}

-(void)viewDidLoad
{
    [super viewDidLoad];
    //控制當前控制器對應的導航條顯示的內容
    self.navigationItem.title=@"第一個界面";
    //修改返回按鈕顯示的內容
    self.navigationItem.backBarButtonItem=[[UIBarButtonItem alloc]initWithTitle:@"返回一" style:UIBarButtonItemStylePlain target:nil action:nil];
}
@end


YYTwoViewController.m文件
復制代碼 代碼如下:

//
//  YYTwoViewController.m
//  01-導航控制器的使用1
//
//  Created by apple on 14-6-4.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYTwoViewController.h"
#import "YYThreeViewController.h"
@interface YYTwoViewController ()
- (IBAction)jump2Three:(id)sender;

@end


復制代碼 代碼如下:

@implementation YYTwoViewController

//跳轉到第三個子控制器
- (IBAction)jump2Three:(id)sender {
    //1.創建第三個子控制器
    YYThreeViewController *three=[[YYThreeViewController alloc]init];
    //2.將子控制器添加到導航控制器中
    [self.navigationController pushViewController:three animated:YES];
}

-(void)viewDidLoad
{
    [super viewDidLoad];
    //給導航欄添加按鈕
    //添加導航欄左邊的按鈕(添加一個相機圖標的按鈕),會蓋掉返回
//    self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];
   
    //為導航欄在右邊添加多個按鈕
    //創建兩個按鈕
    UIBarButtonItem *a=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemStop target:nil action:nil];
    UIBarButtonItem *b=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:nil action:nil];
    UIBarButtonItem *c=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];
    self.navigationItem.rightBarButtonItems=@[a,b,c];
   
    //設置對應的導航條的返回(第三個界面導航條的返回)
    self.navigationItem.backBarButtonItem=[[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStyleBordered target:nil action:nil];
}
@end


YYThreeViewController.m文件
復制代碼 代碼如下:

//
//  YYThreeViewController.m
//  01-導航控制器的使用1
//
//  Created by apple on 14-6-4.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYThreeViewController.h"
#import "YYTwoViewController.h"

@interface YYThreeViewController ()
//返回到第二個控制器頁面
- (IBAction)jump2two:(id)sender;
//返回到第一個控制器頁面
- (IBAction)jump2root:(id)sender;

@end


復制代碼 代碼如下:

@implementation YYThreeViewController


- (IBAction)jump2two:(id)sender {
    //跳轉到第二個界面(移除當前棧頂的控制器)
    [self.navigationController popViewControllerAnimated:YES];
}

- (IBAction)jump2root:(id)sender {
    //移除處理棧底控制器之外的所有控制器
    [self.navigationController popToRootViewControllerAnimated:YES];
   
    // 只要傳入棧中的某一個控制器,就會跳轉到指定控制器
       //不能這樣,沒添加到導航控制器YYTwoViewController *two = [[YYTwoViewController  alloc] init];
    //[self.navigationController popToViewController:<#(UIViewController *)#> animated:<#(BOOL)#>];
}
@end


實現效果:

2015112793512974.png (317×500)

2015112793526599.png (317×500)

2015112793540101.png (318×499)

三、導航控制器通過棧來管理子控制器

示意圖

2015112793557017.png (679×346)

說明:

導航控制器是通過棧的形式來管理子控制器的(先進后出)

顯示在導航控制器上得view永遠是棧頂控制器的view

一個導航控制器只有一個導航條,也就是說所有的自控制器公用一個導航條。

四、補充

在代理方法中,打印當前window下面的所有子控件,并通過xml文件來保存,代碼如下。

復制代碼 代碼如下:

// 應用程序獲取焦點(代表著可以和用戶交互)
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    NSLog(@"applicationDidBecomeActive");
   
   
    UINavigationController *nav =  (UINavigationController *)self.window.rootViewController;
    UINavigationBar *bar =  nav.navigationBar;
//    NSLog(@"%@", NSStringFromCGRect(bar.frame));
   
    NSString *str =  [self digView:self.window];
    [str writeToFile:@"/Users/apple/Desktop/ios6.xml" atomically:YES];
   
}

/**
 *  返回傳入veiw的所有層級結構
 *
 *  @param view 需要獲取層級結構的view
 *
 *  @return 字符串
 */
- (NSString *)digView:(UIView *)view
{
    if ([view isKindOfClass:[UITableViewCell class]]) return @"";
    // 1.初始化
    NSMutableString *xml = [NSMutableString string];
   
    // 2.標簽開頭
    [xml appendFormat:@"<%@ frame=/"%@/"", view.class, NSStringFromCGRect(view.frame)];
    if (!CGPointEqualToPoint(view.bounds.origin, CGPointZero)) {
        [xml appendFormat:@" bounds=/"%@/"", NSStringFromCGRect(view.bounds)];
    }
   
    if ([view isKindOfClass:[UIScrollView class]]) {
        UIScrollView *scroll = (UIScrollView *)view;
        if (!UIEdgeInsetsEqualToEdgeInsets(UIEdgeInsetsZero, scroll.contentInset)) {
            [xml appendFormat:@" contentInset=/"%@/"", NSStringFromUIEdgeInsets(scroll.contentInset)];
        }
    }
   
    // 3.判斷是否要結束
    if (view.subviews.count == 0) {
        [xml appendString:@" />"];
        return xml;
    } else {
        [xml appendString:@">"];
    }
   
    // 4.遍歷所有的子控件
    for (UIView *child in view.subviews) {
        NSString *childXml = [self digView:child];
        [xml appendString:childXml];
    }
   
    // 5.標簽結尾
    [xml appendFormat:@"</%@>", view.class];
   
    return xml;
}


注意:在ios7和以前版本中,各個控件,包括子控制器界面frame的不同。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品wwww| 在线电影av不卡网址| 亚洲色图校园春色| 庆余年2免费日韩剧观看大牛| 久久精品成人欧美大片| 欧美激情在线有限公司| 国产一区深夜福利| 亚洲偷熟乱区亚洲香蕉av| 中文字幕无线精品亚洲乱码一区| 亚洲色图欧美制服丝袜另类第一页| 午夜免费在线观看精品视频| 中文字幕久久久av一区| 亚洲va国产va天堂va久久| 欧美性黄网官网| 久久综合久久88| 久久精品视频一| 欧美精品激情在线观看| 亚洲性日韩精品一区二区| 国产成人精品国内自产拍免费看| 亚洲国产精品99久久| 97香蕉超级碰碰久久免费软件| 久久久久久一区二区三区| 国产有码在线一区二区视频| 久久久午夜视频| 亚洲福利精品在线| 国产成人短视频| 日本精品va在线观看| 欧美怡红院视频一区二区三区| 国产成人精品在线观看| 午夜精品蜜臀一区二区三区免费| 亚洲tv在线观看| 亚洲aaaaaa| 国产91色在线| 欧美日韩xxxxx| 日韩av在线免播放器| 亚洲视频视频在线| 66m—66摸成人免费视频| 欧美日韩高清在线观看| 18一19gay欧美视频网站| 亚洲激情小视频| 久久影院资源网| 在线观看日韩av| 国产裸体写真av一区二区| 成人激情视频在线播放| 姬川优奈aav一区二区| 全球成人中文在线| 疯狂蹂躏欧美一区二区精品| 欧美日韩一区二区三区在线免费观看| 亚洲九九九在线观看| 97成人精品区在线播放| 韩剧1988在线观看免费完整版| 国内精品400部情侣激情| 久久久国产精品亚洲一区| 亚洲国产美女久久久久| 热re91久久精品国99热蜜臀| 国内精品久久久久伊人av| 97国产精品视频人人做人人爱| 欧美日韩国产色视频| 免费不卡在线观看av| 中文字幕亚洲欧美日韩高清| 国产精品久久久久久搜索| 性色av一区二区三区在线观看| 在线成人一区二区| 国产99久久精品一区二区永久免费| 精品国产一区二区三区久久狼黑人| 日韩成人在线视频网站| 97精品一区二区三区| 国产不卡一区二区在线播放| 视频在线观看一区二区| 韩国三级日本三级少妇99| 日韩美女视频免费在线观看| 夜夜嗨av一区二区三区免费区| 性欧美亚洲xxxx乳在线观看| 欧美日韩亚洲成人| 久久九九精品99国产精品| 蜜臀久久99精品久久久无需会员| 在线播放亚洲激情| 青青久久av北条麻妃海外网| 日韩av大片在线| 亚洲第一在线视频| 久久久久久久久久久国产| 欧美亚洲国产精品| 中文字幕在线国产精品| 精品国产91久久久| 亚洲视频在线观看网站| 亚洲精品国产精品国自产观看浪潮| 国产一区二区三区18| 91免费看国产| 九九精品视频在线| 日韩在线视频网站| 欧美有码在线观看| 日韩欧美中文字幕在线播放| 羞羞色国产精品| 亚洲精品720p| 成人性生交大片免费看视频直播| 欧美肥老太性生活视频| 国产剧情久久久久久| 中文字幕精品视频| 亚洲 日韩 国产第一| 欧美成人剧情片在线观看| 日韩在线观看你懂的| 久久久91精品| 国产自产女人91一区在线观看| 日韩精品久久久久久福利| 欧美高清性猛交| 中文字幕精品在线| 91干在线观看| 欧美激情成人在线视频| 日韩精品视频免费专区在线播放| 久久99国产综合精品女同| 久久人91精品久久久久久不卡| 91po在线观看91精品国产性色| 色中色综合影院手机版在线观看| 菠萝蜜影院一区二区免费| 一区二区三区日韩在线| 亚洲香蕉伊综合在人在线视看| 亚洲精品国产精品国产自| 久久精品国产一区二区三区| 欧美多人乱p欧美4p久久| 亚洲综合在线播放| 国产精品99久久久久久人| 亚洲xxxx视频| 亚洲片国产一区一级在线观看| 亚洲欧美综合区自拍另类| 亚洲国产又黄又爽女人高潮的| 中文字幕亚洲第一| 中文字幕欧美亚洲| 国模精品视频一区二区| 国产精品亚发布| 亚洲国产精品电影| 国产一区二区在线免费| 亚洲人成伊人成综合网久久久| 久久精品99久久香蕉国产色戒| 日本精品在线视频| 中文字幕久久久av一区| 国产精品久久久久久久久久ktv| 欧美日韩在线观看视频小说| 91精品国产成人www| 精品网站999www| 日韩最新av在线| 欧美性高跟鞋xxxxhd| 国色天香2019中文字幕在线观看| 国产精品流白浆视频| 欧美国产精品人人做人人爱| 欧美成人免费视频| 精品日韩美女的视频高清| 欧美精品在线观看| 久久免费精品视频| 亚洲一区二区中文字幕| 亚洲女人天堂色在线7777| 秋霞成人午夜鲁丝一区二区三区| 欧美日韩激情视频8区| 8x海外华人永久免费日韩内陆视频| 亚洲一区第一页| 亚洲第一精品夜夜躁人人躁| 欧美有码在线视频| 精品久久久久久久久国产字幕| 亚洲精品美女网站| 中文字幕亚洲字幕| 亚洲国产成人久久综合| 国产亚洲精品久久久久久牛牛| 日本午夜在线亚洲.国产| 亚洲人成人99网站| 日韩视频第一页|