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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )

發布時間:2025/6/17 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


轉載注明出處 :?http://blog.csdn.net/shulianghan/article/details/50348982





一. 日期選擇器 (UIDatePicker)


UIDatePicker 屬性截圖 :?




1. UIDatePicker 控件屬性



(1) Mode 屬性?


Mode 屬性 : 用于設置 UIDatePicker 模式;

-- Date 屬性值 : 顯示日期, 不顯示時間;

-- Time 屬性值 : 顯示時間, 不顯示日期;

-- Date and Time 屬性值 : 同時顯示日期 和 時間;

-- Count Down Timer 屬性值 : 顯示倒計時器;



(2) Local 屬性?


Local 屬性值 : 國際化設置相關屬性, 通常使用默認的設置即可;



(3) Interval 屬性?


Interval 屬性值 : 設置兩個時間選項的時間間隔, 僅當采用 Time, Date and Time, Count Down Timer 三個屬性時有效;



(4) Constraints 屬性?


Constraints 屬性 : 設置控件的最小時間 和 最大時間;



(5) Timer 屬性?


Timer 屬性 : ?設置倒計時 的計時秒數, 只有采用 Count Down Timer 模式時有效;




2. UIDatePicker 日期選擇器 示例代碼



代碼示例 :?

-- 界面設計文件 :?


-- OCViewController.h :?

// // OCViewController.h // UIDatePicker // // Created by octopus on 15-12-19. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController @property (strong, nonatomic) IBOutlet UIDatePicker *datePicker; - (IBAction)click:(id)sender;@end

-- OCViewController.m :?

// // OCViewController.m // UIDatePicker // // Created by octopus on 15-12-19. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib. }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (IBAction)click:(id)sender {//從 UIdatePicker 中獲取事件NSDate * date = [self.datePicker date];//創建 Date 格式化工具NSDateFormatter * formatter = [[NSDateFormatter alloc] init];//格式日期格式化格式[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];//將日期轉為格式化好的字符串NSString * dateString = [formatter stringFromDate:date];//創建 警告對話框NSString * message = [NSString stringWithFormat:@"UIDatePicker 被選中的時間是 %@", dateString];UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"時間選擇" message:message delegate:nil cancelButtonTitle:@"確定" otherButtonTitles: nil];//顯示警告對話框[alertView show]; } @end

-- 界面運行效果 :?




3. UIDatePicker 計時器 示例代碼



計時器示例代碼 :?

-- 界面設計文件 :?


-- OCViewController.h :?

// // OCViewController.h // UIDatePicker // // Created by octopus on 15-12-19. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController //日期選擇器 @property (strong, nonatomic) IBOutlet UIDatePicker *datePicker; //計時器 @property (strong, nonatomic) IBOutlet UIDatePicker *countDown; //計時器按鈕控件 @property (strong, nonatomic) IBOutlet UIButton *countDownBt; //日期選擇器下的按鈕方法 - (IBAction)click:(id)sender; //計時器下的按鈕方法 - (IBAction)clickCountDown:(id)sender;@end

-- OCViewController.m :?

// // OCViewController.m // UIDatePicker // // Created by octopus on 15-12-19. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewControllerNSTimer * timer; NSInteger second;- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.//設置 UIDatePicker 模式為 計時器模式self.countDown.datePickerMode = UIDatePickerModeCountDownTimer; }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (IBAction)click:(id)sender {//從 UIdatePicker 中獲取事件NSDate * date = [self.datePicker date];//創建 Date 格式化工具NSDateFormatter * formatter = [[NSDateFormatter alloc] init];//格式日期格式化格式[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];//將日期轉為格式化好的字符串NSString * dateString = [formatter stringFromDate:date];//創建 警告對話框NSString * message = [NSString stringWithFormat:@"UIDatePicker 被選中的時間是 %@", dateString];UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"時間選擇" message:message delegate:nil cancelButtonTitle:@"確定" otherButtonTitles: nil];//顯示警告對話框[alertView show]; }- (IBAction)clickCountDown:(id)sender {NSLog(@"點擊了 clickCountDown");//獲取倒計時剩余時間second = self.countDown.countDownDuration;//設置 UIDatePicker 和 倒計時按鈕 禁用狀態self.countDown.enabled = NO;[sender setEnabled:NO];//生成當前秒數 字符串NSString * message = [NSString stringWithFormat:@"倒計時 剩余 %d", second];//創建警告框UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"倒計時" message:message delegate:nil cancelButtonTitle:@"確定" otherButtonTitles: nil];//顯示警告框[alert show];//啟動定時器, 每隔 1 秒調用一次timer = [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(tick) userInfo:nil repeats:YES]; }-(void) tick{//秒數 減去 60second = second - 60;//將自減后的秒數設置給 UIDatePickerself.countDown.countDownDuration = second;//如果倒計時完畢, 控件 恢復正常if(second <= 0){[timer invalidate];self.countDown.enabled = YES;self.countDownBt.enabled = YES;} } @end

-- 界面運行展示 :?






二. 選擇器 (UIPickerView)




1. UIPickerView 簡介



(1) UIPickerView 繼承結構?


UIPickerView 繼承結構 :?

-- 父類 : 繼承 UIView, 不繼承 UIControl;

-- 處理方法 : 該類不能綁定 IBAction 處理方法, 其事件處理只能交給對應的委托對象的委托方法完成;



(2) UIPickerView 屬性


UIPickerView 屬性 :?


-- Shows Selection Indicator 屬性 : 是否高亮顯示選中的選項;



(3) UIPickerView 行列屬性讀取方法


UIPickerView 行列屬性讀取方法 :?

-- "numberOfComponents" 方法 : 獲取 UIPickerView 中的可選的列表的選項個數;

-- "numberOfRowsInComponent" 方法 : 獲取 列 數;

-- "rowSizeForComputer" 方法 : 獲取指定列的 選項個數, 返回值是 CGSize 類型;

-- "selectRow : inComponent : animated" 方法 : 選中 某一列 的 某個 選項, 并設置是否使用動畫;

-- "viewForRow : forComponent" 方法 : 返回指定選項使用的 控件;



(4) UIPickerViewDataSource 數據管理


UIPickerViewDataSource 數據設置方法 :?

-- 設置數據 : UIPickerView 對象可以設置一個 UIPickerViewDataSource 對象, 用于數據管理;

-- "numberOfComponentsInPickerView" 方法 : 判斷包含多少列;

-- "pickerView : numberOfRowsInComponent : " 方法 : 指定某一列應該包含多少個選項;



(5) UIPickerViewDelegate 管理 外觀 和 響應


UIPickerViewDelegate 簡介 :?

-- CGFloat 類型 : 32 位機器上是 float 類型, 64 位機器上是 double 類型;

typedef float CGFloat;// 32-bit typedef double CGFloat;// 64-bitstruct CGPoint {CGFloat x;CGFloat y; };

-- 主要作用 : 為 UIPickerView 設置 UIPickerViewDelegate 委托對象, 用于管理 UIPickerView 外觀, 用于響應 UIPickerView 的選中事件;

-- "pickerView : rowHeightForComponent" 方法 : 返回 UIPickerView 指定選項的高度, 類型 CGFloat;

-- "pickerView : widthForComponent" 方法 : 返回 UIPickerView 指定選項的寬度, 類型 CGFloat;

-- "pickerView : tittleForRow : forComponent" 方法 : 返回指定列, 指定選項的標題, 類型 NSString;

-- "pickerView : viewForRow : forComponent : reusingView" 方法 : 返回 UIView 控件, 該控件是指定列 的 指定選項控件;

-- "pickerView : didSelectRow : inComponent" 方法 : 選定 UIPickerView 指定列的指定列表項 會回調該方法; ?




2. 單行選擇器示例


(1) 相關 API 簡介


相關 API 簡介 :?

-- 為 UIPickerView 設置 數據 和 操作 委托 :?

//為 UIPickerView 設置 UIPickerViewDataSource 委托self.pickerView.dataSource = self;//為 UIPickerView 設置 UIPickerViewDelegate 委托self.pickerView.delegate = self;
-- 設置 UIPickerView 列數 : 該方法是 UIPickerViewDataSource 委托方法;

//UIPickerViewDataSource 委托中定義的方法, 返回 UIPickerView 包含多少列 - (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView{return 1; }
-- 設置 UIPickerView 某列對應選項個數 : 該方法是 UIPickerViewDataSource 委托方法;

//UIPickerViewDataSource 委托方法, 獲取指定列 有多少個選項數據 - (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{/*component 是列的索引*/return array.count; }
-- 設置 UIPickerView 選項返回的字符串值 : 該方法是 UIPickerViewDelegate 委托方法;

/*UIPickerViewDelegate 委托方法, 該方法返回指定列的 指定 選項 的值row 參數 : 行 索引component 參數 : 列 索引, 由于 只有一列, 因此我們不必關系 該索引, 只需要關心 行 索引即可*/ - (NSString *) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{return [array objectAtIndex:row]; }
-- 設置 UIPickerView 選中選項方法 : 該方法是 UIPickerViewDelegate 委托方法;

/*UIPickerViewDelegate 委托方法, 當選中某個選項時 激發的方法row 參數 : 選中選項所在的列的索引component 參數 : 選中選項所在的行的索引*/ - (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{// 生成對話框, 在對話框中顯示選中的內容UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"UIPickerView 提示" message:[NSString stringWithFormat : @"UIPickerView 選中選項是 : %@", [array objectAtIndex : row]] delegate:nil cancelButtonTitle:@"確定" otherButtonTitles: nil];//顯示對話框[alert show]; }

(2) 單行選擇器代碼示例


單行選擇器代碼示例 :?

-- 界面設計文件 :?


-- OCViewController.h :?

// // OCViewController.h // UIPickerView // // Created by octopus on 15-12-21. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>// UIPIckerView 的 IBOutlet 引用 @property (strong, nonatomic) IBOutlet UIPickerView *pickerView;@end

-- OCViewController.m :?

// // OCViewController.m // UIPickerView // // Created by octopus on 15-12-21. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewControllerNSArray * array;- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.//創建 UIPickerView 列表中顯示的字符串集合array = [NSArray arrayWithObjects:@"知春路", @"五道口", @"上地", @"西二旗", @"龍澤", @"回龍觀", nil];//為 UIPickerView 設置 UIPickerViewDataSource 委托self.pickerView.dataSource = self;//為 UIPickerView 設置 UIPickerViewDelegate 委托self.pickerView.delegate = self;}//UIPickerViewDataSource 委托中定義的方法, 返回 UIPickerView 包含多少列 - (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView{return 1; }//UIPickerViewDataSource 委托方法, 獲取指定列 有多少個選項數據 - (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{/*component 是列的索引*/return array.count; }/*UIPickerViewDelegate 委托方法, 該方法返回指定列的 指定 選項 的值row 參數 : 行 索引component 參數 : 列 索引, 由于 只有一列, 因此我們不必關系 該索引, 只需要關心 行 索引即可*/ - (NSString *) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{return [array objectAtIndex:row]; }/*UIPickerViewDelegate 委托方法, 當選中某個選項時 激發的方法row 參數 : 選中選項所在的列的索引component 參數 : 選中選項所在的行的索引*/ - (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{// 生成對話框, 在對話框中顯示選中的內容UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"UIPickerView 提示" message:[NSString stringWithFormat : @"UIPickerView 選中選項是 : %@", [array objectAtIndex : row]] delegate:nil cancelButtonTitle:@"確定" otherButtonTitles: nil];//顯示對話框[alert show]; }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (void) valueChange{ }@end


-- 運行效果展示 :?





3. 多行列表選擇器示例代碼



(1) 示例代碼


多行列表選擇示例代碼 :?

-- 界面設計文件 :?


-- OCViewController.h :?

// // OCViewController.h // MultiUIPickerView // // Created by octopus on 15-12-23. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>/*實現 UIPickerViewDelegate 和 UIPickerViewDataSource 兩個協議*/ @interface OCViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource> @property (strong, nonatomic) IBOutlet UIPickerView *pickerView;@end

-- OCViewController.m :?

// // OCViewController.m // MultiUIPickerView // // Created by octopus on 15-12-23. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewController//用于存儲數據源 NSArray * line13; NSArray * line1;//分別存儲當前數據源中的索引 NSInteger line1_row; NSInteger line13_row;- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.line13 = [NSArray arrayWithObjects:@"西直門", @"大鐘寺", @"知春路", @"五道口", @"上地", @"西二旗", nil];line1 = [NSArray arrayWithObjects:@"八寶山", @"五棵松", @"八角游樂園", @"蘋果園", @"萬壽路", @"公主墳", nil];self.pickerView.dataSource = self;self.pickerView.delegate = self; }//UIPickerViewDataSource 委托方法, 設定 UIPickerView 列數 - (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView{return 2; }//UIPickerViewDataSource 委托方法, 設置每一列的選項個數 - (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{NSInteger count;switch (component) {case 0:count = line13.count;break;case 1:count = line1.count;break;default:count = 0;break;}return count; }//UIPickerViewDelegate 委托方法, 設置每個選項的顯示的字符串標題 - (NSString *) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{NSString * tittle;switch (component) {case 0:tittle = [line13 objectAtIndex:row];break;case 1:tittle = [line1 objectAtIndex:row];break;default:tittle = nil;break;}return tittle; }//UIPickerViewDelegate 委托方法, 設置選中回調方法 -(void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{//設置當前獲取的 行列 值, 并存儲到類變量中if(component == 0){line13_row = row;}else if(component == 1){line1_row = row;}//生成對話框中顯示的字符串NSString * message = [NSString stringWithFormat:@"選中內容 一號線 %@, 十三號線 %@", [line1 objectAtIndex:line1_row], [line13 objectAtIndex:line13_row]];//生成UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"UIPickerView 多行選擇" message:message delegate:nil cancelButtonTitle:@"確定" otherButtonTitles: nil];[alertView show]; }//指定 UIPickerView 的選項寬度 - (CGFloat) pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{CGFloat width;switch (component) {case 0:width = 100;break;case 1:width = 150;break;default:break;}return width; }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }@end

-- 運行效果 :?





4. 相關聯的多行列表選擇器示例代碼



(1) 相關 API 簡介


相關 API 簡介 :?

-- 實現 UIPickerView 委托協議 :?

@interface OCViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>

-- 設置 UIPickerView 委托 :?

//設置委托self.pickerView.dataSource = self;self.pickerView.delegate = self;


-- UIPickerView 重新加載某一列 :?

//重新加載 第二列[self.pickerView reloadComponent:1];
-- UIPickerView 設置默認選項 :?

//設置第二列的默認選中, 一旦切換鍵值, 第二列默認選中 第一個選項[self.pickerView selectRow:0 inComponent:1 animated:YES];

轉載注明出處?:?http://blog.csdn.net/shulianghan/article/details/50348982



(2) 關聯多項 UIPickerView 示例代碼


示例代碼 :?

-- 解析 : 在 API 內部是沒有定義關聯邏輯的, 關聯邏輯是開發者自己使用邏輯實現的, 與上面的示例代碼沒有本質區別, 使用的還是相同的一套 API;

-- 界面設計文件 :?


-- OCViewController.h :?

// // OCViewController.h // CertainMultiPickerView // // Created by octopus on 15-12-23. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate> @property (strong, nonatomic) IBOutlet UIPickerView *pickerView; @end

-- OCViewController.m :?

// // OCViewController.m // CertainMultiPickerView // // Created by octopus on 15-12-23. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewControllerNSDictionary * dictionary; NSArray * rails; NSInteger selectedRail;- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.//數據源dictionary = [NSDictionary dictionaryWithObjectsAndKeys:[NSArray arrayWithObjects:@"知春路", @"五道口", @"西二旗", @"龍澤", nil], @"十三號線", [NSArray arrayWithObjects : @"五棵松", @"八寶山",@"八角游樂園", @"蘋果園", nil], @"一號線" , nil];//獲取鍵值集合rails = [dictionary allKeys];//當前顯示的鍵值selectedRail = 0;//設置委托self.pickerView.dataSource = self;self.pickerView.delegate = self;}//UIPickerViewDataSource 委托方法, 設定 UIPickerView 每列的行數 - (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{//第一列 鍵值 就2個if(component == 0)return rails.count;//第二列 根據 鍵值的當前選中的鍵值 確定對應的集合, 然后返回該對應集合的個數return [[dictionary objectForKey:[rails objectAtIndex:selectedRail]] count]; }//UIPickerViewDataSource 委托方法, 設定 UIPickerView 的列數 - (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView{return 2; }//UIPickerViewDelegate 委托方法, UIPickerView 指定列表選項上顯示標題 - (NSString *) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{if(component == 0){return [rails objectAtIndex:row];}return [[dictionary objectForKey:[rails objectAtIndex:selectedRail]] objectAtIndex:row]; }- (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{//UIAlertView 顯示的信息NSString * message;if(component == 0){/*選中的 鍵 這一列*///將當前選中的列 設置到類變量中selectedRail = row;//重新加載 第二列[self.pickerView reloadComponent:1];//設置第二列的默認選中, 一旦切換鍵值, 第二列默認選中 第一個選項[self.pickerView selectRow:0 inComponent:1 animated:YES];//第一項 即 鍵值, 第二項 根據字典中的鍵值 選擇 對應集合中的第一個元素message = [NSString stringWithFormat:@"第一列選項 : %@, 第二列選項 : %@", [rails objectAtIndex:selectedRail], [[dictionary objectForKey:[rails objectAtIndex:selectedRail]] objectAtIndex:0]];}else if (component == 1){/*選中的 值 這一列*/message = [NSString stringWithFormat:@"第一列選項 : %@, 第二列選項 : %@", [rails objectAtIndex:selectedRail], [[dictionary objectForKey:[rails objectAtIndex:selectedRail]] objectAtIndex:row]];}/*創建并顯示對話框*/UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"選擇內容" message:message delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil];[alertView show]; }// 設置列寬 - (CGFloat) pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{if(component == 0){return 150;}return 150; }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }@end

-- 運行效果 :?





5. 老虎機 示例代碼



(1) 相關 API 簡介


相關 API 簡介 :?

-- 音頻文件使用流程 :?

//音頻文件 位置NSURL * gameSoundUrl = [[NSBundle mainBundle] URLForResource:@"gaming" withExtension:@"wav"];//音頻標識SystemSoundID soundId;//加載音頻文件AudioServicesCreateSystemSoundID((__bridge CFURLRef)(gameSoundUrl), &soundId);//播放音頻AudioServicesPlaySystemSound(soundId);
-- 隨機數生成 :?

//生成一個 0 ~ 5 之間的隨機數NSUInteger randomNum = arc4random() % icons.count;
-- 設置 UIPickerView 選項 :?

//將隨機數設置給 UIPickerView 的 四列 中的每行選項 索引[self.pickerView selectRow:randomNum inComponent:i animated:YES];


(2) 老虎機 代碼示例


代碼示例 :?

-- 界面設計文件 :?


-- OCViewController.h :?

// // OCViewController.h // TigerGame // // Created by octopus on 15-12-23. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h> #import <AudioToolbox/AudioToolbox.h> //實現 UIPickerView 的兩個委托協議 @interface OCViewController : UIViewController<UIPickerViewDataSource, UIPickerViewDelegate>//UIPickerView 引用 @property (strong, nonatomic) IBOutlet UIPickerView *pickerView; //UIButton 開始游戲按鈕 引用 @property (strong, nonatomic) IBOutlet UIButton *button;//點擊按鈕回調的方法 - (IBAction)startGame:(id)sender; @end

-- OCViewController.m :?

// // OCViewController.m // TigerGame // // Created by octopus on 15-12-23. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewController//設置一個默認的 控件 tag #define imageTag 1//圖標圖片集合 NSArray * icons;- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib./*加載 六張 圖標圖片*/UIImage * ai = [UIImage imageNamed:@"ai.png"];UIImage * as = [UIImage imageNamed:@"as.png"];UIImage * br = [UIImage imageNamed:@"br.png"];UIImage * eclipse = [UIImage imageNamed:@"eclipse.png"];UIImage * ps = [UIImage imageNamed:@"ps.png"];UIImage * xcode = [UIImage imageNamed:@"xcode.png"];//將六張 圖標 圖片放入集合中icons = [NSArray arrayWithObjects:ai, as, br, eclipse, ps, xcode, nil];//設置 UIPickerView 委托self.pickerView.dataSource = self;self.pickerView.delegate = self; }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }//點擊開始游戲按鈕 回調的方法 - (IBAction)startGame:(id)sender {//設置按鈕不可點擊self.button.enabled = NO;//音頻文件 位置NSURL * gameSoundUrl = [[NSBundle mainBundle] URLForResource:@"gaming" withExtension:@"wav"];//音頻標識SystemSoundID soundId;//加載音頻文件AudioServicesCreateSystemSoundID((__bridge CFURLRef)(gameSoundUrl), &soundId);//播放音頻AudioServicesPlaySystemSound(soundId);for (int i = 0; i < 4; i++) {//生成一個 0 ~ 5 之間的隨機數NSUInteger randomNum = arc4random() % icons.count;//將隨機數設置給 UIPickerView 的 四列 中的每行選項 索引[self.pickerView selectRow:randomNum inComponent:i animated:YES];}//設置按鈕可用self.button.enabled = YES;}/*下面是 UIPickerViewDataSource 的委托方法*///UIPickerViewDataSource 委托方法, 設置 UIPickerView 的列數 - (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView{return 4; }//UIPickerViewDataSource 委托方法, 設置 UIPickerView 每一列的行數 - (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{return icons.count; }/*下面是 UIPickerViewDelegate 的委托方法*///設置每個 UIPickerView 中每列 每行 的選項 UI 控件 - (UIView *) pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{/*這里注意 重用 View 的 tag, 我們將 View 的 tag 設置為1, 如果 View 是已經重用的 直接返回, 如果沒有重用, 創建 View 設置其 tag 為1, 并返回*/if (view.tag != imageTag) {//創建一個 UIImageView, 并為其設置一張圖片view = [[UIImageView alloc] initWithImage : [icons objectAtIndex : row]];//UIImageView 設置 tag 標識view.tag = imageTag;//設置該組件不可響應任何事件view.userInteractionEnabled = NO;view.contentMode = UIViewContentModeScaleAspectFill;}return view; }//設置 UIPickerView 中每個選項的 寬度 40 - (CGFloat) pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{return 70; }//設置 UIPickerView 中每個選項的 高度 40 - (CGFloat) pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{return 70; }@end

-- 運行效果 :?







四. 微調器 (UIStepper)




1. UIStepper 屬性簡介


UIStepper 屬性截圖 :?




(1) value 屬性?


value 屬性 :?


-- Minimum : UIStepper 最小值, 默認 0;

-- Maximum : UIStepper 最大值, 默認 100;

-- Current : UIStepper 當前值, 在 Minimum 與 Maximum 之間;

-- Step : 每次點擊 + 或 -, 增加 或 減小的值;



(2) Behavior 屬性?


Behavior 屬性 :?

-- AutoRepeat : 默認 YES, 此時按住 + 或 - 不放, value 值會持續增加 或 減小;

-- Continuous : 默認 YES, 此時 交互時會立即發送 value change 事件, NO 時 會等交互結束后才發送 value change 事件;

-- Wrap : 默認 NO, YES 時 當值持續增加 比 Maximum 還大時會變成 Minimum, 當 值持續減小 比 Minimum 還小時會變為 Maximum;




2. UIStepper 代碼示例



代碼示例 :?

-- 界面設計文件 :?


-- OCViewController.h :?

// // OCViewController.h // UIStepper // // Created by octopus on 15-12-24. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController@property (strong, nonatomic) IBOutlet UILabel *label1; @property (strong, nonatomic) IBOutlet UILabel *label2;//將三個 UIStepper 的 IBAction 綁定方法都綁定在一個 valueChange 方法中 - (IBAction)valueChanged:(UIStepper *)sender;@end

-- OCViewController.m :?

// // OCViewController.m // UIStepper // // Created by octopus on 15-12-24. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib. }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (IBAction)valueChanged:(UIStepper *)sender {/*注意 將 double 類型轉為字符串, 需要使用 NSString 的 stringWithFormat 方法進行轉換*/switch (sender.tag) {case 0:self.label1.text = [NSString stringWithFormat:@"%g", sender.value];break;case 1:self.label2.text = [NSString stringWithFormat:@"%g", sender.value];break;default:break;} } @end

-- 運行效果 :?






四. 網頁控件 (UIWebView)


1. UIWebView 控件屬性


UIWebView 控件屬性截圖 :?



(1) Scaling 屬性?


Scaling 屬性作用 : 是否縮放網頁適配 UIWebView 控件;



(2) detection 屬性?


detection 屬性 :?


-- Links :?自動識別超鏈接, 點擊超鏈接進入該頁面;

-- Address : 自動識別網頁上的地址;

-- Phone Numbers : 自動識別電話號碼, 點擊電話號碼就會自動撥號;

-- Events : 自動識別網頁上的日歷事件;




2. UIWebView 操作



(1) UIWebView 內容加載


UIWebView 加載 :?

-- "loadHTMLString : baseURL" 方法 : 加載顯示 HTML 字符串;

-- "loadRequest" 方法 : 加載顯示 網頁;

-- "stringByEvaluatingJavaScriptFromString" 方法 : 執行 JavaScript 字符串, 并返回結果;



(2) UIWebView 導航控制


UIWebView 導航控制 :?

-- "goBack" 方法 : 后退回上一頁;

-- "goForward" 方法 : 前進;

-- "reload" 方法 : 重新加載網頁;

-- "stopLoading" 方法 : 停止加載網頁;



(3) UIWebViewDelegate 協議委托


UIWebViewDelegate 協議 :?

-- "webView:shouldStartLoadWithRequest:navigationType" 方法 : 加載指定 URL 網頁時回調該方法;

-- "webViewDidStartLoad" 方法 : 開始加載網頁時激發的方法;

-- "webViewDidFinishLoad" 方法 : 結束加載網頁回調的方法;

-- "webViewDidFailLoadWithError" 方法 : 加載出現錯誤回調方法;




3. UIWebView 瀏覽器示例



(1) 相關 API


相關 API 簡介 :?

-- 設置網頁內容自適應 :?

//設置 UIWebView 網頁內容自適應self.webView.scalesPageToFit = YES;
-- 生成對話框顯示加載錯誤內容 :

//生成對話框 顯示 加載失敗內容UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"加載失敗" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"確定" otherButtonTitles: nil];
-- 根據 String 字符串 獲取 URL 對象 :?

//加載網頁內容[self.textField resignFirstResponder];//獲取網頁地址NSString * address = self.textField.text;//將地址轉為 urlNSURLRequest * request = [NSURLRequest requestWithURL:[NSURL URLWithString:address]];
-- 加載網頁內容 :?

//加載網頁內容[self.webView loadRequest:request];
-- 停止加載網頁 :?

//停止加載[self.webView stopLoading];
-- 重新加載網頁 :?

//重新加載[self.webView reload];
-- 前進 :?

//前進[self.webView goForward];

-- 后退 :?

//后退[self.webView goBack];



(2) 代碼示例


代碼示例 :?

-- 界面設計文件 :?


-- OCViewController.h :?

// // OCViewController.h // UIWebView // // Created by octopus on 15-12-28. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController <UIWebViewDelegate> //地址欄輸入框 引用 @property (strong, nonatomic) IBOutlet UITextField *textField; //網頁控件 引用 @property (strong, nonatomic) IBOutlet UIWebView *webView;//五個按鈕的點擊方法都回調該方法, 通過 tag 屬性來區分不同的按鈕 - (IBAction)click:(UIButton *)sender;@end

-- OCViewController.m :?

// // OCViewController.m // UIWebView // // Created by octopus on 15-12-28. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.//設置 UIWebView 網頁內容自適應self.webView.scalesPageToFit = YES;//設置 UIWebView 的委托self.webView.delegate = self;}- (void) webViewDidStartLoad:(UIWebView *)webView{ }- (void) webViewDidFinishLoad:(UIWebView *)webView{ }- (void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{//生成對話框 顯示 加載失敗內容UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"加載失敗" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"確定" otherButtonTitles: nil];//顯示對話框[alertView show]; }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (IBAction)click:(UIButton *)sender {NSInteger tag = sender.tag;NSLog(@"tag : %d", tag);switch (tag) {case 0:{//加載網頁內容[self.textField resignFirstResponder];//獲取網頁地址NSString * address = self.textField.text;//將地址轉為 urlNSURLRequest * request = [NSURLRequest requestWithURL:[NSURL URLWithString:address]];//加載網頁內容[self.webView loadRequest:request];}break;case 1://后退[self.webView goBack];break;case 2://前進[self.webView goForward];break;case 3://重新加載[self.webView reload];break;case 4://停止加載[self.webView stopLoading];break;default:break;} } @end

-- 運行效果 :?










五. 工具條控件 (UIToolBar)


1. UIToolBar 控件屬性


UIToolBar 屬性截圖 :?



(1) Style 屬性?


Style 屬性 : 指定工具條風格;


-- Default : 默認風格;

-- Black : 黑色背景, 白字風格;

-- Black Translucent (Deprecated) : 透明背景;



(2) items 屬性


items 屬性 : 該 Item 是一個 NSArray 對象, 包含多個 BarButtonItem;

?





2. UIToolBar 工具條代碼示例




(1) 工具條代碼示例


代碼示例 :?

-- 界面設計文件 :?


-- OCViewController.h :?

// // OCViewController.h // UItoolBar // // Created by octopus on 15-12-29. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController- (IBAction)click:(UIBarButtonItem *)sender;@end

-- OCViewController.m :?

// // OCViewController.m // UItoolBar // // Created by octopus on 15-12-29. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewControllerUIProgressView * progress; NSTimer * timer;- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.//創建 UIToolBar 控件UIToolbar * toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 50, 320, 44)];[self.view addSubview:toolBar];//創建文字的 控件按鈕UIBarButtonItem * bi1 = [[UIBarButtonItem alloc] initWithTitle:@"Left" style:UIBarButtonItemStylePlain target:self action:@selector(clickCodeItem:)];//創建 圖片的 控件按鈕UIBarButtonItem * bi2 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"xcode.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(clickCodeItem:)];//創建 一個 系統的添加 按鈕UIBarButtonItem * bi3 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(clickCodeItem:)];//創建固定長度的空白UIBarButtonItem * bi4 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];//將進度條 封裝成 UIBarButtonItem 按鈕progress = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];progress.frame = CGRectMake(0, 0, 80, 20);progress.progress = 0;UIBarButtonItem * bi5 = [[UIBarButtonItem alloc] initWithCustomView:progress];//將上面創建的按鈕添加到工具條中toolBar.items = [NSArray arrayWithObjects:bi1, bi2, bi3, bi4, bi5, nil];//啟動一個定時器, 更新進度條timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(changeProgress) userInfo:nil repeats:YES];}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (IBAction)click:(UIBarButtonItem *)sender {NSLog(@"tag : %d, tittle : %@", sender.tag, [sender title]); }- (void) clickCodeItem : (id)sender{NSLog(@"點擊 %@", sender); }- (void) changeProgress{if (progress.progress >= 1.0) {[timer invalidate];}else{[progress setProgress:progress.progress + 0.01 animated:YES];} }@end

-- 運行效果 :

2015-12-29 15:17:55.644 UItoolBar[2331:60b] 點擊 <UIBarButtonItem: 0x8c3b0d0> 2015-12-29 15:17:58.925 UItoolBar[2331:60b] 點擊 <UIBarButtonItem: 0x8c3a3d0> 2015-12-29 15:18:00.669 UItoolBar[2331:60b] 點擊 <UIBarButtonItem: 0x8c3c1a0> 2015-12-29 15:18:07.831 UItoolBar[2331:60b] tag : 1, tittle : Left 2015-12-29 15:18:09.446 UItoolBar[2331:60b] tag : 2, tittle : Center 2015-12-29 15:18:10.961 UItoolBar[2331:60b] tag : 3, tittle : Right

?


轉載注明出處?:?http://blog.csdn.net/shulianghan/article/details/50348982




總結

以上是生活随笔為你收集整理的【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

免费在线观看国产黄 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 九九九九热精品免费视频点播观看 | 91精品国产91久久久久久三级 | 国产精品久久三 | 91精品国自产在线偷拍蜜桃 | 国产精品永久 | 香蕉影视app| 激情综合五月天 | 日韩电影久久 | 亚洲欧美日韩中文在线 | 成人免费影院 | 日韩高清黄色 | 亚洲精品成人网 | 美女视频黄频 | 国产一区二区久久久久 | 国产精品一区二区视频 | 国产精品你懂的在线观看 | 久久超碰网 | 久久久精品网站 | 97成人啪啪网 | 久久男人中文字幕资源站 | 一区二区三区电影大全 | 久久香蕉国产精品麻豆粉嫩av | 99 久久久久 | 超碰97中文| 综合五月婷婷 | 一区二区三区高清不卡 | 在线视频 影院 | av网站免费在线 | www视频免费在线观看 | 国产一区二区在线免费 | 丁香六月中文字幕 | 午夜精品久久久99热福利 | 日日干影院| 在线观看国产高清视频 | 久久精品网站视频 | 日韩欧美一区二区在线 | 香蕉91视频 | 亚洲第一成网站 | 992tv人人网tv亚洲精品 | 91污在线观看 | 97国产一区| 亚洲精品视频在 | 国产成人99久久亚洲综合精品 | 亚洲精品久久久蜜臀下载官网 | 欧美日韩不卡一区 | 日韩免费看视频 | 黄色视屏免费在线观看 | 九九九九精品九九九九 | 美女视频黄,久久 | 亚洲五月 | 精品中文字幕在线观看 | 欧美大片在线看免费观看 | 日韩av高清 | 91在线你懂的 | 国产精品国产自产拍高清av | 三级av在线免费观看 | 狠狠久久伊人 | 深夜免费网站 | 偷拍精品一区二区三区 | 四虎永久精品在线 | 天天激情在线 | 亚洲综合狠狠干 | 久久精品九色 | 黄色特级一级片 | 亚洲精品乱码久久久久久蜜桃欧美 | 国产.精品.日韩.另类.中文.在线.播放 | 精品亚洲视频在线 | 青青草在久久免费久久免费 | 欧美一区二区三区在线播放 | 欧美人体xx| 五月天com| 中文字幕在线看视频 | 久久免费毛片 | 久久a v视频 | 中文字幕在线播放一区二区 | 中文字幕在线观看1 | 天天躁日日躁狠狠 | 国产精品久久av | 国产精品白丝jk白祙 | 日韩影视精品 | 婷婷亚洲五月色综合 | 久久综合色天天久久综合图片 | 西西444www高清大胆 | 天天色天天射天天操 | 亚洲国产中文字幕在线视频综合 | 久久人人爽人人爽人人片av免费 | 亚洲精品免费在线 | 天天干天天色2020 | 一区二区视频电影在线观看 | 亚洲午夜久久久久久久久电影网 | 久久99亚洲网美利坚合众国 | 国产精品视频资源 | 开心激情五月婷婷 | 超碰在线97国产 | 99精品视频一区 | 国产精品自在欧美一区 | 久久久免费在线观看 | 成人在线一区二区三区 | 精品久久久久久亚洲综合网 | 国产一级淫片免费看 | 午夜av免费看 | 亚洲成年人在线播放 | 色婷婷激情综合 | www一起操| 国产精品理论在线观看 | 亚洲 中文 在线 精品 | 国产一级免费观看视频 | 91精品色| 亚洲在线视频免费观看 | 又黄又色又爽 | 黄色电影在线免费观看 | 天堂av在线7| 国产在线观看99 | 一本色道久久精品 | 黄色av一级 | 最近中文字幕高清字幕免费mv | 在线欧美中文字幕 | 蜜桃传媒一区二区 | 成人av免费在线观看 | 999ZYZ玖玖资源站永久 | 亚洲综合精品在线 | 99久久精品免费看国产四区 | 91亚洲在线观看 | 日韩av播放在线 | 免费合欢视频成人app | 久久成熟 | 国产精品久久久久久久久久久免费 | 成人免费观看在线视频 | 四虎成人精品在永久免费 | 国产99一区视频免费 | 精品毛片在线 | 中文字幕日本在线观看 | 日韩精品一区二区三区在线视频 | 最近免费中文字幕大全高清10 | 久久精品欧美日韩精品 | 九九在线播放 | 香蕉视频18 | 中文在线www| 主播av在线 | 香蕉久草在线 | 九九九电影免费看 | 久草在线视频新 | 福利一区二区 | 国产精品美女免费视频 | 国产不卡毛片 | 一本一道波多野毛片中文在线 | 色婷婷国产在线 | 免费国产在线视频 | 五月丁香 | 91mv.cool在线观看 | 在线亚洲激情 | 久久黄色影院 | 久久国产精品久久久久 | 亚洲黄色免费网站 | 97在线观看视频国产 | 黄色影院在线免费观看 | 四虎影视成人永久免费观看亚洲欧美 | 九九热视频在线免费观看 | 日韩在线视频播放 | 99草视频| 国产高清精品在线观看 | 毛片一级免费一级 | 欧美日韩免费观看一区二区三区 | 2024国产精品视频 | 18国产精品白浆在线观看免费 | 婷婷在线免费视频 | 色香蕉网 | 精品亚洲视频在线 | 99久久婷婷 | 91视频麻豆 | 国产成人精品午夜在线播放 | 日韩综合一区二区 | 免费视频成人 | 亚洲一区二区精品视频 | 欧美日韩国产亚洲乱码字幕 | 开心激情久久 | 精品视频区| 伊人影院av | 日韩欧美精品一区 | 天天综合成人 | 免费视频久久久久久久 | 午夜精品久久久久久久99婷婷 | 狠狠狠综合 | 日韩黄色大片在线观看 | 日韩在线免费视频观看 | 欧美日韩视频网站 | 中文字幕之中文字幕 | 97视频在线观看视频免费视频 | 久久精品麻豆 | 欧美a级免费视频 | 日韩专区av | 欧美与欧洲交xxxx免费观看 | 丁香花在线观看免费完整版视频 | 国产精品 日韩 | 免费高清在线观看电视网站 | 久久综合激情 | 不卡av免费在线观看 | 亚洲国产一区在线观看 | 99久久婷婷国产综合亚洲 | 中文字幕日韩av | 国产亚洲va综合人人澡精品 | 91九色国产视频 | 色综合a | 亚洲在线视频播放 | 一区二区丝袜 | 国产精品99久久久久人中文网介绍 | 91精品夜夜 | 又黄又网站 | 丁香五月网久久综合 | 成人午夜电影久久影院 | 久久超碰97 | 国产精品免费久久久久久久久久中文 | 亚洲影院色 | 亚洲精品资源在线观看 | 麻豆果冻剧传媒在线播放 | 二区三区在线视频 | 在线亚洲精品 | 国产丝袜高跟 | www国产精品com| 欧美激情视频一二三区 | 日韩午夜剧场 | www最近高清中文国语在线观看 | 在线亚洲欧美视频 | 少妇bbb| 国产日韩欧美综合在线 | 天天草天天爽 | 免费观看一级成人毛片 | 91在线视频免费 | 91av资源网 | 波多野结衣电影一区二区三区 | 免费看久久 | 国精产品满18岁在线 | 91大神精品视频在线观看 | 国产91精品看黄网站在线观看动漫 | 国产精品国产毛片 | 国产一区视频免费在线观看 | 97超碰资源 | 中文字幕在线观看免费观看 | 丁香婷婷电影 | 亚州黄色一级 | 精品美女久久 | 欧美伦理电影一区二区 | 午夜视频99| 一区二区三区四区五区在线视频 | 在线视频精品播放 | 日韩免费在线播放 | 激情久久久久久久久久久久久久久久 | 国产中文| 精品一区二区免费在线观看 | 亚洲一级片免费观看 | 在线国产小视频 | 国产黄在线播放 | 亚洲成人国产精品 | 国产久视频| 亚洲电影免费 | 亚洲国产av精品毛片鲁大师 | 欧美色就是色 | 免费看黄电影 | 麻豆视频国产精品 | 色在线国产 | 一区二区三区在线不卡 | 91重口视频| 久久一本综合 | av一级一片 | 亚洲欧美日韩一区二区三区在线观看 | 成人黄色电影在线播放 | 黄色片免费电影 | 97久久精品午夜一区二区 | 久久蜜桃av| 国产手机在线精品 | 97av色| 97在线影院 | 国产精品久久久久久久久久久久 | 日韩剧 | 亚洲成av人影院 | 久久好看| 免费观看特级毛片 | 国产在线播放一区 | 亚洲黄色片一级 | 亚洲精品白浆高清久久久久久 | 超碰av在线播放 | 日韩久久精品一区二区 | 2019av在线视频 | 97高清视频 | 国产 日韩 欧美 中文 在线播放 | 日韩精品免费一线在线观看 | 日韩欧美在线中文字幕 | 激情综合狠狠 | 国产黄色片网站 | 国产精品免费久久久久 | 中文字幕在线网址 | 在线观看亚洲国产 | 成年人免费看av | 国内偷拍精品视频 | 久久99精品久久久久蜜臀 | 日韩精品免费一区 | 国产丝袜 | 精品久久久久久久久久久院品网 | 国产在线一区观看 | 91视频3p | 成人午夜免费福利 | 天天操天天操天天操天天 | 国产中文字幕免费 | 亚洲电影图片小说 | 久久国产影院 | 国产精品久久伊人 | 欧美一区二区在线免费看 | 久久黄色a级片 | a黄色片在线观看 | 涩涩爱夜夜爱 | 国产精品99久久99久久久二8 | 欧美日韩中文在线观看 | 精品亚洲免费视频 | 久久久久久久久久久免费 | 亚洲综合精品视频 | 精品天堂av| 久久国产精品99国产精 | 国产色爽 | 婷婷激情综合网 | 亚洲永久国产精品 | 天天天插 | 国产色视频网站 | 99精品免费久久久久久久久 | 国产又粗又猛又黄又爽的视频 | 黄色精品一区二区 | 国产精品自产拍在线观看桃花 | 97av在线 | 欧美一区三区四区 | 天海翼一区二区三区免费 | 久草网免费 | 黄色片免费电影 | 天天操天天操天天操天天操天天操 | 操操碰 | 成人av在线播放网站 | 国产精品久久99综合免费观看尤物 | 日韩精品在线观看av | 久久香蕉一区 | 黄色av免费| 婷婷色综 | 99在线观看免费视频精品观看 | 91一区啪爱嗯打偷拍欧美 | 在线亚洲成人 | 成年人看片 | 日韩精品一区二区在线观看 | av 一区 二区 久久 | 亚洲人成在线电影 | 亚洲国产69 | 精品国模一区二区 | 一区二区三区在线不卡 | 久青草视频 | 激情网站网址 | 久久9999久久免费精品国产 | 久久国产精品偷 | 91精品国产乱码久久桃 | 91视频链接 | 国产成人精品区 | 啪啪免费试看 | 久在线观看视频 | 在线播放国产精品 | 人人草人人草 | 99精品欧美一区二区三区 | 精品久久国产 | 日韩伦理片hd| 国产精品久久久久久久久久了 | 国产特级毛片aaaaaaa高清 | 国产成人精品久久久 | 三上悠亚一区二区在线观看 | 黄色av电影免费观看 | 怡红院久久 | 97国产视频| 亚洲v欧美v国产v在线观看 | aav在线| 国产精品久久久精品 | 毛片久久久 | 国产精品久久久久久久久久免费 | 特黄特色特刺激视频免费播放 | 久久综合婷婷国产二区高清 | 91精品久久久久久久91蜜桃 | av免费试看| 狠狠干夜夜爽 | 免费在线视频一区二区 | 中文伊人 | 亚洲视频资源在线 | 国产成人精品免高潮在线观看 | 麻豆久久| 亚洲欧洲精品视频 | 午夜10000| 97色在线观看 | 日韩二区精品 | 91视频观看免费 | 在线看片成人 | 欧美亚洲国产一卡 | 91av在线不卡 | 日韩精品视频免费在线观看 | 国产精品wwwwww | www.久艹 | 亚洲精品在线电影 | 国产亚洲视频系列 | 超碰在线中文字幕 | 黄色三级在线观看 | 一级一片免费看 | 香蕉影视在线观看 | 日韩精品视频久久 | 欧美一区二区三区免费观看 | 毛片在线网| 久爱精品在线 | 久草在线在线视频 | 天天摸天天干天天操天天射 | 99视频在线免费观看 | 久久久久色| 国产不卡一二三区 | 一色av | 亚洲欧洲视频 | 九九在线国产视频 | 夜夜干天天操 | 麻豆精品传媒视频 | 久草在线最新免费 | 国产精品麻豆三级一区视频 | 一区二区三区四区五区在线 | 免费高清影视 | 美女免费视频观看网站 | 99精品电影| 国产精品美女毛片真酒店 | 在线久草视频 | 香蕉久草 | 狠狠狠狠狠狠操 | 成人app在线播放 | 国产免费不卡av | 干天天| 国产蜜臀av | 人成在线免费视频 | 99av国产精品欲麻豆 | 国产精品久久久久久久久久99 | 日b视频国产 | wwwwww国产| va视频在线| 91精品国产麻豆国产自产影视 | 黄网站色 | 99精品国产在热久久 | 九九色网 | 亚洲欧美日韩精品久久奇米一区 | 国产视频在线观看免费 | 日韩毛片久久久 | 国产又粗又猛又黄又爽的视频 | 高清中文字幕 | 97久久精品午夜一区二区 | 99久久精品国产观看 | 欧美色图亚洲图片 | 欧美午夜理伦三级在线观看 | 色吊丝在线永久观看最新版本 | 18国产精品福利片久久婷 | 免费观看国产成人 | 一级欧美黄| 91亚洲精品久久久蜜桃 | 亚洲国产精品女人久久久 | 色婷婷视频网 | 国产精品原创在线 | 91桃色在线免费观看 | 欧美91精品久久久久国产性生爱 | 久久精品成人热国产成 | 曰韩在线 | 日本在线中文在线 | 一区二区三区在线视频111 | 久久综合九色综合欧美狠狠 | 手机版av在线 | 色婷婷综合激情 | 三级黄色网址 | 操操综合网 | 日韩av网页 | 免费福利片 | 欧美精品久久久久久 | 日韩三级视频在线看 | 欧美aaa一级 | 国产超碰在线观看 | 久久男人免费视频 | 国产区免费在线 | 亚洲www天堂com | 久久亚洲婷婷 | 婷色在线| 日韩在线视频在线观看 | 欧美aa在线 | 久色伊人| 91禁在线看| 五月婷婷综合色拍 | 精品伊人久久久 | 精品亚洲一区二区 | 亚洲精品18日本一区app | www五月天| 国产成人精品一区二区在线 | 国产淫片免费看 | 国产亚洲一区二区在线观看 | 中文在线免费看视频 | 亚洲激情免费 | 九七在线视频 | 国产一区二区三区高清播放 | 香蕉手机在线 | 97在线精品 | 国产999精品久久久久久绿帽 | 欧美极品少妇xxxx | 国产亚洲精品久久久久久无几年桃 | 国产精品一区二区吃奶在线观看 | 国产伦理剧 | 99精品福利 | 亚洲国产精品影院 | 96超碰在线 | 国产高清日韩 | 国产精品久久久久久一区二区三区 | 免费黄色av片| 色小说在线 | 日本公乱妇视频 | 操高跟美女 | 在线免费三级 | 一区二区不卡视频在线观看 | 国产色拍| 色中文字幕在线观看 | 国产日韩欧美在线影视 | 一级黄色片在线观看 | 五月天婷婷在线观看视频 | 一本一本久久a久久精品综合小说 | 中文字幕精品在线 | 国产精品成人在线 | 中文字幕在线观看完整 | 99999精品 | 性色av一区二区 | 免费一区在线 | 久久久久久免费毛片精品 | 国产精品一区电影 | 久久精品79国产精品 | 中字幕视频在线永久在线观看免费 | 国产成人综合图片 | 婷婷丁香花五月天 | 精品久久五月天 | 亚洲国产精品500在线观看 | 久久久亚洲精品 | 91激情视频在线 | 中文字幕亚洲综合久久五月天色无吗'' | 久热电影 | 色婷婷综合五月 | 色噜噜狠狠狠狠色综合 | 天天操天天干天天摸 | 欧美激情视频在线免费观看 | 国产精品理论视频 | 日韩在线电影 | 欧美日韩免费一区 | 麻豆国产精品一区二区三区 | 超碰在线99 | 在线免费成人 | 午夜性生活 | 国产亚洲精品久久久久久久久久 | 啪啪资源| 成人试看120秒 | 日韩中出在线 | 一区 二区 精品 | 欧美综合色 | 亚洲精品国产精品久久99 | 免费网站看av片 | 尤物97国产精品久久精品国产 | 免费av高清| 欧美成人xxx | 伊人激情综合 | 在线观看视频国产 | aaa毛片视频| 在线免费视频一区 | 久草av在线播放 | 一级电影免费在线观看 | 日韩欧美视频一区 | 最近中文字幕第一页 | 天天综合操 | 国产视频1区2区 | 国产精品久久久久久久7电影 | 国外成人在线视频网站 | 亚洲精品视频第一页 | 特及黄色片| 91在线中字| 在线中文字幕视频 | 在线日韩av | 一本一本久久a久久精品综合妖精 | 色噜噜在线观看视频 | 91免费看黄 | 天天操天天摸天天射 | 国精产品999国精产 久久久久 | 欧美日韩高清在线一区 | 国产成人免费观看 | 日韩一级电影在线 | 91完整版观看 | 狠狠色狠狠色综合日日92 | 在线国产视频一区 | 免费精品人在线二线三线 | 亚洲第一av在线播放 | 免费亚洲视频 | 久久精品国产精品亚洲精品 | 久久96国产精品久久99漫画 | 成人久久精品视频 | 天操夜夜操| 久久精品国产亚洲精品2020 | 精品国产亚洲一区二区麻豆 | 超碰97免费观看 | 欧美日韩精品影院 | 亚洲无吗av | 欧美成年人在线视频 | 久久观看免费视频 | 成 人 黄 色 视频免费播放 | 亚洲免费视频在线观看 | 亚洲一区尤物 | 中文字幕一区二区三区精华液 | 国产高清在线永久 | 日本性生活一级片 | 久久久亚洲麻豆日韩精品一区三区 | 天天骚夜夜操 | 久久精品成人热国产成 | 在线日本看片免费人成视久网 | 日韩免费视频网站 | 成人福利在线播放 | 色狠狠操 | 在线观看国产麻豆 | 在线免费中文字幕 | 一级黄色片在线免费观看 | 国产精品国产三级国产aⅴ入口 | 91精品综合在线观看 | 日韩在线免费视频 | 中文字幕网址 | 高清有码中文字幕 | 嫩小bbbb摸bbb摸bbb| 在线免费观看视频一区 | 国产精选在线观看 | 一级黄色免费网站 | 国产成人精品在线播放 | 麻豆系列在线观看 | 久久国产一区二区三区 | 国产精品专区在线观看 | 国产视频在线观看一区二区 | 免费在线观看a v | 国产亚洲婷婷免费 | 国产v在线 | 福利片视频区 | 三级黄色大片在线观看 | 天天色天天搞 | 天天操夜夜操 | 日日摸日日添日日躁av | 日韩一级电影在线 | 丁香婷婷综合色啪 | 欧美极品裸体 | 国产精品嫩草55av | 黄网站色成年免费观看 | 福利视频导航网址 | 特片网久久 | 国产一级片网站 | 天堂av在线网址 | 黄色小说免费在线观看 | 日韩电影中文字幕在线观看 | 国产在线精品一区 | 狠狠色噜噜狠狠狠 | 国产美女搞久久 | 91最新在线 | 99热在线网站 | 高清中文字幕 | 亚洲女欲精品久久久久久久18 | 久久精品专区 | 91黄色免费看 | 久久综合免费 | 夜夜操天天摸 | 最近最新最好看中文视频 | 91视频a| 精品国产视频一区 | 国产精品久久久久一区二区国产 | 啪啪肉肉污av国网站 | 中文字幕精品久久 | 高清不卡一区二区在线 | 91精品国产91久久久久久三级 | 涩涩伊人 | 91中文字幕在线视频 | 久久久国产电影 | 亚洲有 在线 | 高清免费av在线 | 国产又粗又猛又爽又黄的视频先 | 午夜精选视频 | 久久99精品视频 | 在线中文字幕电影 | 日韩精品你懂的 | 免费看高清毛片 | 91九色最新地址 | 在线免费看黄色 | 久久五月婷婷丁香 | 欧美在线视频a | 国产精品一区一区三区 | 亚洲精品视频久久 | 婷婷激情欧美 | 啪啪肉肉污av国网站 | 国产中文字幕在线免费观看 | 99久久精品电影 | 91免费视频黄 | 色婷婷综合视频在线观看 | 九九九热精品免费视频观看 | 欧美日韩在线观看一区二区三区 | 国产成人精品一区二区三区网站观看 | 国产精品免费看久久久8精臀av | 久久99久久99精品免视看婷婷 | 免费韩国av | 免费在线色 | av电影在线观看 | 97在线观看免费高清 | 亚洲三级性片 | www.久久免费 | 免费观看十分钟 | 青春草视频| 高清av网| 天天干天天操天天爱 | 黄色免费网站 | 国产成人精品999在线观看 | 久久免费的精品国产v∧ | av网站在线免费观看 | 久99久视频 | 碰超在线 | 中文在线免费一区三区 | 婷婷网址| 干亚洲少妇| 亚洲日韩欧美视频 | 久久久久国产精品www | 免费黄色一区 | 精品国产观看 | 国产成在线观看免费视频 | 久久精品老司机 | 国产成人久久精品77777 | 91精彩视频在线观看 | 国产乱老熟视频网88av | 91九色蝌蚪国产 | 午夜免费在线观看 | 国产精品va在线观看入 | av大片网址 | 在线观看av麻豆 | 欧美二区视频 | a√天堂资源 | 中文字幕国语官网在线视频 | 91色国产| 久久婷婷一区二区三区 | 欧美性生活久久 | 91精品国产91久久久久久三级 | 欧美精品成人在线 | 夜夜嗨av色一区二区不卡 | 伊人狠狠色 | 久久精品官网 | 精品免费视频123区 午夜久久成人 | 国内精品久久久久久 | 日韩91精品| 久久综合九色欧美综合狠狠 | 国产精美视频 | 亚洲成av人影院 | 国产精品一区二区久久久 | 久久精品一区二区三区中文字幕 | 日韩av一区二区三区在线观看 | 国产精品久久久久久一区二区 | 成人h在线观看 | 午夜久草 | 色婷婷狠狠五月综合天色拍 | 51久久成人国产精品麻豆 | 亚洲免费av在线 | 国产又黄又爽又猛视频日本 | 免费观看一级特黄欧美大片 | www免费黄色| 欧美日韩国产网站 | 五月婷婷丁香激情 | av短片在线| v片在线看 | 婷婷在线免费观看 | 日韩午夜小视频 | 日本一区二区免费在线观看 | 国产精品青青 | 国产精品一区二区视频 | 久久综合免费视频影院 | 一区二区不卡视频在线观看 | 国产91探花| 欧美一进一出抽搐大尺度视频 | 色婷婷狠狠操 | av在线等 | 国产成人精品午夜在线播放 | 伊人永久 | 国产高清无线码2021 | 在线观看av大片 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚洲视频一级 | 国产综合精品一区二区三区 | 国产午夜精品在线 | 亚洲综合国产精品 | 欧美一区二区三区在线视频观看 | 日韩精品第1页 | 久久丁香 | 超碰大片 | 国产精品视频地址 | 天天曰视频 | 伊人一级| 亚洲精品高清视频 | 天天操天天干天天操天天干 | 西西444www大胆无视频 | 久久黄色影院 | 日韩欧美一区二区不卡 | 亚洲黄色片在线 | 日韩欧美国产精品 | 国产高清av免费在线观看 | 三级动态视频在线观看 | 亚洲国产小视频在线观看 | 婷婷色综| 91精品啪 | 久久精品中文字幕一区二区三区 | 国产三级视频在线 | 成人毛片网 | 四虎国产精品免费 | 国产美女黄网站免费 | 91精品久久久久久粉嫩 | 欧美一级在线观看视频 | 99久久精品国产一区二区成人 | av在线免费网 | 国产免费午夜 | 伊人国产视频 | 日本精品久久久久 | 国产亚洲精品成人av久久影院 | 国产特级毛片aaaaaa | 国产精品久久久久久久久久99 | 国产精品国产三级国产aⅴ9色 | 色哟哟国产精品 | 狠狠色丁香久久婷婷综合丁香 | 免费看的黄色的网站 | 久久天天躁狠狠躁亚洲综合公司 | 免费在线观看中文字幕 | 国产h片在线观看 | 国产精品99蜜臀久久不卡二区 | 黄色精品视频 | 中文字幕专区高清在线观看 | 99精品在线免费观看 | 日韩天天干 | 久久国产视频网站 | 九九九九九九精品 | 久久dvd | 国产婷婷视频在线 | 久久99久久99久久 | 麻豆精品视频在线 | 综合久久久久 | 国产成人91| 国产精品尤物视频 | 在线观看成人小视频 | 久久韩国免费视频 | 9999毛片 | 国产精品久久久久久久久久ktv | 开心激情五月婷婷 | 激情婷婷在线观看 | 人人网av| 国产精品porn | 午夜精品久久久久久久久久久久 | 日本护士三级少妇三级999 | 免费福利视频网 | 亚洲一区日韩在线 | 日韩一三区 | 国产女人免费看a级丨片 | 日韩久久精品一区 | 一区二区 精品 | 欧美成人播放 | 欧美国产一区在线 | 色婷婷av在线 | 在线免费看片 | 亚洲综合色丁香婷婷六月图片 | 久久99热久久99精品 | 在线免费观看一区二区三区 | 欧美在线18 | 丁香婷婷激情啪啪 | 亚洲第一av在线播放 | 一区二区三区在线看 | 久久精品看片 | 四月婷婷在线观看 | 特级西西www44高清大胆图片 | 丁香婷婷久久 | 美女国产| 91麻豆精品久久久久久 | 国产在线观看污片 | 久久久久久久网 | 亚洲免费专区 | 97超碰人人网 | 丁香九月激情综合 | 国产五月| 亚洲欧美少妇 | 五月激情天 | 欧美另类网站 | 最近中文字幕在线播放 | 精品亚洲视频在线观看 | 久久夜夜操 | 中文字幕美女免费在线 | 九色精品免费永久在线 | 亚洲视频在线观看网站 | 九九久久精品视频 | 日韩电影中文字幕 | 免费av网址在线观看 | 天天色天天 | 精品国精品自拍自在线 | 日本天天色 | 国内精品久久久久影院一蜜桃 | 美女网站在线播放 | 久久午夜色播影院免费高清 | 亚洲国产小视频在线观看 | 婷婷丁香综合 | 一区二区三区在线视频观看58 | 久久婷婷一区 | 97香蕉久久国产在线观看 | 日本精品二区 | 午夜精品久久久久久久99热影院 | 日韩精品久久久免费观看夜色 | 天天天在线综合网 | 日韩在线视频一区二区三区 | 国产又黄又爽无遮挡 | 五月婷婷六月丁香激情 | 91麻豆精品91久久久久同性 | 久草国产在线观看 | 欧美精品在线观看免费 | 特黄一级毛片 | 中文字幕一区在线 | 久久在线视频在线 | 狠狠色噜噜狠狠狠合久 | 国产片免费在线观看视频 | 在线不卡中文字幕播放 | 国产福利一区二区三区视频 | 天天草天天插 | 日韩精品欧美专区 | 中文字幕免费看 | 国产精品系列在线播放 | 91免费高清视频 | av电影在线不卡 | 伊人在线视频 | av黄网站| 免费黄色特级片 | 国产精品破处视频 | 视频在线观看亚洲 | 一二三区av | 日韩一区二区三区观看 | 四虎影视国产精品免费久久 | 午夜视频在线观看网站 | 久久尤物电影视频在线观看 | 久久不卡免费视频 | 国产第一页福利影院 | 久久久久久久久久久久影院 | 日韩一区二区免费视频 | 日韩中文久久 | 草久久久 | 国产在线播放不卡 | 国产一级视频在线观看 | 青草视频在线免费 | 黄网站a| 天天射成人| 日韩久久午夜一级啪啪 | 成年人黄色在线观看 | 超碰在线观看97 | 在线观看免费成人av | 一级α片免费看 | 久久1电影院 | av经典在线| 国产日韩欧美在线 | 日日夜夜网 | 精品国模一区二区 | 国产精品18久久久久久不卡孕妇 | 亚洲天堂色婷婷 | 免费观看一级 | 久久国产精品一国产精品 | 六月色婷婷 | 久草在线综合 | 久久天天综合网 | 国产成视频在线观看 | 激情五月色播五月 | 久久亚洲综合色 | 伊人五月天婷婷 | 久久久久草| 亚洲欧洲精品久久 | 亚洲成人黄色av | 国产尤物视频在线 | 免费在线观看黄网站 | 亚洲精品影院在线观看 | 伊人五月 | 婷婷色伊人 | 人人插人人玩 | 成年人视频免费在线 | 成 人 黄 色视频免费播放 | 国产又粗又长的视频 | 亚洲成av人片 | 欧美 亚洲 另类 激情 另类 | 日韩在线观看免费 | 久久免费精品一区二区三区 | 免费在线观看成人小视频 | 色综合天 | 国产九九精品视频 | 西西大胆啪啪 | 中文av网站| av在线最新 | 91视频传媒 | 国产精品一区二区久久 | 操操色| 久久精品91久久久久久再现 | 久久久亚洲精华液 | 日韩欧美网站 | 成年人在线免费看片 | 91九色视频在线播放 | 日韩av在线看 |