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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

發(fā)布時間:2025/6/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

博客地址 :?http://blog.csdn.net/shulianghan/article/details/50051499 ;




一. UI 控件簡介



1. UI 控件分類



UI 控件分類 : 活動控件, 被動控件, 靜態(tài)控件;

-- 活動控件 : 繼承了 UIControl 基類, 該類控件可以與用戶交互, 對應(yīng)操作會激發(fā)對應(yīng)的 事件綁定回調(diào)方法, 之前的 UIButton 就是這種控件;

-- 靜態(tài)控件 : 繼承了 UIView 基類, 該類控件與用戶之間不能交互, 之前使用的 UILabel 就是這種控件;

-- 被動控件 : 該類控件可以接受用戶操作, 通常用于接收用戶輸入, 這種方法不會觸發(fā) IBAction 方法, 文本框就是一種被動控件;




2. UIControl 介紹




(1) UIControl 簡介


UIControl 簡介 :?

-- 使用頻率 : UIControl 控件一般不會被使用, 經(jīng)常被使用的是 UIControl 的子類 UI 控件;

-- UIControl 主要作用 : 定義通用接口, 為活動控件的事件機制提供實現(xiàn), 發(fā)生指定的動作后, 控件會初始化 Action 方法, 回調(diào)對應(yīng)的事件處理方法;

-- 事件處理方法 : UI 控件繼承 UIControl 方法, 在 Interface Builder 關(guān)聯(lián)到 IBAction 方法, 這個方法就是事件處理方法;



(2) UIControl 方法



UIControl 方法 :?

-- "- (void) addTarget : (id) target action : (SEL) action forControlEvents : (UIControlEvents) events" 方法 : 注冊事件處理方法, target 方法所在對象, action 方法的 SEL 參數(shù), forControlEvents UIControlEvents 類型的枚舉值;

-- "- (void) removeTarget : (id) target action : (SEL) action forControlEvents : (UIControlEvents) events" 方法 : 移除之前注冊的事件處理方法;

-- "- (NSArray *) actionsForTarget : (id) target forControlEvents : (UIControlEvents) controlEvent" 方法 : 獲取注冊的方法;

-- "- (NSSet *) allTargets" 方法 : 獲取方法對象集合;

-- "- (UIControlEvents) allControlEvents" 方法 : 獲取所有的事件集合;



(3) UI 控件狀態(tài)



UI 控件狀態(tài) :?

-- 普通 : UI 控件的默認狀態(tài);

-- 高亮 : UI 控件突出顯示, 處于高亮狀態(tài); 手放在按鈕上處于高亮狀態(tài);

-- 禁用 : UI 控件關(guān)閉后, 處于禁用狀態(tài); 禁用狀態(tài)的控件不可操作, 禁用操作在 Interface Builder 取消 Enable 復(fù)選框;?

-- 選中 : 用于標識控件已啟用 或 被選中, 選中狀態(tài)可以不斷持續(xù), 高亮狀態(tài)只在 按下才顯示;



(4) UI 控件狀態(tài)



UI 控件狀態(tài) :?

-- enabled : UIControl 控件是否可用;

-- selected : 該屬性判斷該 UIControl 控件是否被選中;

-- highlighted : UIControl 控件是否高亮;





(5) UIControl 觸摸方法



UIControl 常用觸摸方法 :?

-- "beginTrackingWithTouch : withEvent :" 方法 : 開始觸摸 UIControl 控件時會回調(diào)該方法;

-- "continueTrackingWithTouch : withEvent :" 方法 : 連續(xù)觸摸 UIControl 控件時會激發(fā)該方法;

-- "endTrackingWithTouch : withEvent :" 方法 : 結(jié)束碰觸 UIControl 控件時會激發(fā)該方法;








二. UIButton 控件



1. 按鈕屬性詳解






(1) Type 屬性



Type 屬性 : 如果需要自定義按鈕, 使用 Custom 屬性;

-- Custom : 外觀靠開發(fā)者設(shè)置, 效果如下 :?


-- System : 默認按鈕風格, 默認按鈕, 效果如下 :?


-- Detail Disclosure : i 圖標, 常用與顯示列表詳情, 效果如下 :?


-- Info Light | Info Dark?: 顯示 i 圖標, 顯示簡短的說明信息, 效果如下 :?


-- Add Contact : 顯示 + 按鈕, 常用于添加內(nèi)容, 效果如圖 :?






(2) State Config 屬性



UIButton 狀態(tài) : 每種狀態(tài)都可以設(shè)置不同的 文本, 圖片, 格式;


-- Default : 默認狀態(tài);

-- Highlighted : 用戶碰觸時的高亮狀態(tài);

-- Selected : 被選中時的狀態(tài);

-- Disabled : 禁用狀態(tài);


為不同狀態(tài)的 UIButton 設(shè)置樣式 :?

-- "setTittle : forState :" 方法 : UIButton 不同狀態(tài) 設(shè)置不同的標題;

-- "setTittleColor : forState :" 方法 : UIButton 不同狀態(tài)設(shè)置不同的標題顏色;

-- "setTittleShadowColor : forState :" 方法 : UIButton 不同狀態(tài) 設(shè)置 不同的按鈕中文本的陰影設(shè)置顏色;

-- "setBackgroundImage : forState :" 方法 : UIButton 不同狀態(tài)設(shè)置不同的背景圖片;

-- "setImage : forState :" 方法 : UIButton 不同狀態(tài)設(shè)置不同圖片;


forState 參數(shù) : UIControlState 整數(shù)枚舉值;

-- UIControlStateNormal : 默認正常狀態(tài);

-- UIControlStateHighlighted : 高亮狀態(tài);

-- UIControlStateDisabled : 禁用狀態(tài);

-- UIControlStateSelected : 被選中狀態(tài);




(3) Tittle 屬性



Tittle 屬性 : 設(shè)置不同的文本方式;


-- Plain 屬性值 : 默認即可;

-- Attribute 屬性值 :?



(4) Tittle 屬性



Font 屬性 : 用于控制文字的 字體, 大小, 風格;





(5) Text Color | Shadow Color 屬性




Text Color 屬性 : 控制文本的顏色;

Shadow Color 屬性 : 控制文本陰影的顏色;



(6) Image 屬性


Image 屬性 : 為按鈕設(shè)置圖片, 設(shè)置后該按鈕會成為圖片按鈕, 之前設(shè)置的 Tittle 屬性作廢;




(7) Background 屬性


Background 屬性 : 用于為按鈕設(shè)置背景圖片;


-- 文本圖片共存 : 該屬性可以設(shè)置 文本 和 圖片 共同作為按鈕背景, 比使用 Image 屬性設(shè)置圖片 顯示內(nèi)容 更豐富;



(8) Shadow Offset 屬性



Shadow Offset 屬性 :?


-- 偏移值 : 控制 UILabel 控件內(nèi)陰影文本與 正常文本 之間的偏移量;

-- 偏移方向 : 需要為 水平 和 垂直 兩個方向 分別指定兩個值;

-- Horizontal 水平方向 : > 0 向右偏移, < 0 向左偏移;

-- Vertical 垂直方向 : > 0 向下偏移, < 0 向上偏移;



(9) Line Break 屬性



Line Break : 文本截斷的屬性;





(10) Edge 屬性



Edge 屬性 : 控制按鈕邊界;


-- Content : 按鈕內(nèi)容作為按鈕邊界;

-- Tittle : 按鈕的標題文本作為邊界;

-- Image : 按鈕圖片作為按鈕邊界;



(11) Inset 屬性



Inset 屬性 :?


-- 作用 : 控制按鈕邊界間距, 在按鈕四周留出空白;

-- 間距值 : 該屬性需要設(shè)置 Top, Bottom, Left 和 Right 四個值代表 上 下 左 右 間距;





2. 按鈕示例




(1) 創(chuàng)建 Detail Disclosure 按鈕


創(chuàng)建 Detail Disclosure 按鈕 : UIButton 的 Type 屬性類型是 Detail Disclosure;




(2) 創(chuàng)建 Add Contact 按鈕


創(chuàng)建 Add Contact 按鈕 : 設(shè)置 UIButton 的 Type 屬性類型是 Add Contact;




(3) 創(chuàng)建 Info Light | Info Dark 按鈕


創(chuàng)建 Info Light 按鈕 :?


創(chuàng)建 Info Dark 按鈕 :?




(4) 創(chuàng)建 文字 按鈕


創(chuàng)建文字按鈕 :?

-- Type 屬性 : 設(shè)置為 Custom;

-- Default 狀態(tài)設(shè)置 : 設(shè)置 文本顏色 紅色, 設(shè)置 陰影顏色 藍色;


-- HighLighted 狀態(tài) : 設(shè)置 文本顏色 粉色, 陰影顏色藍色;


-- Selected 狀態(tài) : 設(shè)置文本顏色 粉色, 陰影顏色 藍色;





(5) 創(chuàng)建 圖片 按鈕


創(chuàng)建 圖片 按鈕 :?

-- 設(shè)置 Type 參數(shù) : 設(shè)置為 Custom;

-- 設(shè)置 Default 參數(shù) : 設(shè)置 Image 參數(shù) 1.png;


-- 設(shè)置 HighLighted 參數(shù) : 設(shè)置 Image 參數(shù) 2.png;




(6) 示例


示例展示 :?









三. UITextField 控件



1. UITextField 屬性


?? ??



(1) PlaceHolder 屬性


PlaceHolder 屬性 : 屬性值是一個字符串, 再文本框沒有輸入內(nèi)容時, 文本框內(nèi)顯示的灰色文本, 用于作為文本框提示信息;




(2) Border Style 屬性


Border Style 屬性 : 設(shè)置文本框邊框風格, 支持四種風格, 一般情況下是選擇最右邊的圓角矩形按鈕;




(3) Clear Button 屬性


Clear Button 屬性 : 文本框右邊的 x 標識按鈕, 用戶單擊該圖片, 清空文本框內(nèi)容;

? ?

-- Never appears : 不顯示清除按鈕;

-- Appears while editing : 編輯內(nèi)容時顯示清除按鈕;

-- Appears unless editing : 除了編輯之外, 都會顯示清除按鈕;

-- Is always visible : 一直可見;


Clear when editing begins 復(fù)選框 : 每次編輯文本框時, 自動清除文本框中原有內(nèi)容;



(4) Min Font Size | Adjust to Fit 屬性


Adjust to Fit 復(fù)選框 : 指定文本字體是否隨著文本框縮小 而 減小;

-- 作用 : 勾選該復(fù)選框可以確保整個文本在文本框總是可見;



Min Font Size 屬性 :?

-- 作用 : 指定文本框內(nèi)文本的最小值, 保證文本框內(nèi)文本不會因為太小而看不見;




(5) Capitalization 屬性


Capitalization 屬性 :?

-- None : 不切換大小寫;

-- Words : 自動將首字母轉(zhuǎn)大寫字母;

-- Sentence : 每個句子首字母轉(zhuǎn)為大寫字母;

-- All Characters : 將每個字母轉(zhuǎn)為大寫字母;

? ? ?



(6) Correction 屬性


Correction 屬性 : 自動更正屬性;

-- No : 不自動更正字母;

-- Yes : 自動更正字母;

? ? ?



(7) KeyBoard 屬性


KeyBoard 屬性 : 設(shè)置虛擬鍵盤類型,?;


-- Default : 默認虛擬鍵盤;

-- ASCII Capable : 英文字母鍵盤;

-- Numbers and Production : 數(shù)字 和 標點符號鍵盤;

-- Number Pad : 數(shù)字鍵盤;

-- Phone Pad : 電話撥號鍵盤;

-- E-mail Address : E-mail 地址虛擬鍵盤;

-- Decimal Pad : 數(shù)字 小數(shù)點 虛擬鍵盤;



(8) Return Key 屬性


Return Key 屬性 : 按下文本框中的 return 鍵行為,?;


-- 默認選項 : 通常使用 Done 屬性值;


Return Key 復(fù)選框 :?


-- Auto-enable Return Key : 勾選復(fù)選框, return 框默認禁用, 輸入文本后可用, 用于強制用戶必須輸入內(nèi)容;

-- Secure : 勾選后, 輸入內(nèi)容以黑點顯示, 用于輸入密碼;





2. 用戶登錄界面示例



(1) 用戶名 UI 設(shè)置


用戶名設(shè)置 :?

-- 設(shè)置 UILabel : 設(shè)置 Text 屬性值為 "用戶名 : ";

? ? ?

-- 設(shè)置 Text Field 輸入框 : Placeholder 屬性值設(shè)置為 "請輸入用戶名", Clear Button 屬性選擇 "Appear while editing", Return 列表選擇 "Done" 屬性, 勾選 "Auto-enable Return Key" 復(fù)選框;




(2) 密碼 UI 設(shè)置


密碼 UI 設(shè)置 : 創(chuàng)建一個 Text Field 控件, 設(shè)置下面的屬性;


-- Placeholder 屬性 : 設(shè)置 "請輸入密碼" 提示字符串;

-- Clear Button 屬性 : 設(shè)置 "Appear while editing" 選項, 當編輯時出現(xiàn)取消按鈕;

-- Keyboard 屬性 : 選擇 "Number Pad" 顯示 數(shù)字虛擬鍵盤;

-- Secure 屬性 : 選中該復(fù)選框, 輸入內(nèi)容都是小圓點;



(3) 示例


示例演示 :?

-- Interface Builder 設(shè)計 :?


-- 用戶名展示 :?


-- 密碼展示 :?





3. 輸入完后關(guān)閉鍵盤



(1) 設(shè)置 IBOutlet


設(shè)置 IBOutlet :?

-- 拖控件到 OCViewController 中 : control + 左鍵 拖動控件到 ViewController 中;


-- 設(shè)置 IBOutlet 參數(shù) :?


-- 自動生成的代碼 :?

@property (strong, nonatomic) IBOutlet UITextField *userName;


(2) 設(shè)置 IBAction


設(shè)置 IBAction 參數(shù) :?

-- 拖動控件到 OCViewController :?


-- 設(shè)置 IBAction 參數(shù) :?


-- OCViewController.h 生成的代碼 :?

- (IBAction)userNameInput:(id)sender;
-- OCViewController.m 代碼 :?

- (IBAction)userNameInput:(id)sender { }


(3) 代碼示例


代碼示例 :?

-- OCViewController.h :?

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

-- OCViewController.m :?

// // OCViewController.m // OC_UITextField // // Created by octopus on 15-12-2. // 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)userNameInput:(id)sender {//sender 放棄響應(yīng), 虛擬鍵盤消失[self.userName resignFirstResponder]; }@end




4. 觸摸背景關(guān)閉虛擬鍵盤



(1) 修改 Custom Class?


修改背景類別 :?

-- 修改原因 : 默認的背景控件時 UIView, 該控件沒有 IBAction 事件, 因此需要將背景控件設(shè)置為 UIControl;

-- 修改方法 : 使用 command + option + 3 打開身份檢查器面板, 將 Custom Class 設(shè)置為 UIControl 類;


-- 修改后 :?




(2) 設(shè)置 IBOutlet


設(shè)置 IBOutlet :?

-- 設(shè)置過程 : 將用戶名 和 密碼 輸入框 拖到 OCViewController.h 中;

-- 代碼示例 :?

@property (strong, nonatomic) IBOutlet UITextField *userName; @property (strong, nonatomic) IBOutlet UITextField *pswTextField;


(3) 設(shè)置 IBAction


設(shè)置 IBAction :?

-- 設(shè)置過程 : 使用 control + 鼠標左鍵, 將背景控件 UIControl 設(shè)置 IBAction 到 OCViewController.h 中;

-- IBAction 屬性 :?


-- 代碼示例 :?

- (IBAction)cancelTextField:(id)sender;




(4) 代碼示例


代碼示例 :?

-- OCViewController.h :?

// // OCViewController.h // OC_UITextField // // Created by octopus on 15-12-2. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController @property (strong, nonatomic) IBOutlet UITextField *userName; @property (strong, nonatomic) IBOutlet UITextField *pswTextField; - (IBAction)userNameInput:(id)sender; - (IBAction)pwdInput:(id)sender; - (IBAction)cancelTextField:(id)sender;@end

-- OCViewController.m :?

// // OCViewController.m // OC_UITextField // // Created by octopus on 15-12-2. // 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)userNameInput:(id)sender {//sender 放棄響應(yīng), 虛擬鍵盤消失[self.userName resignFirstResponder]; }- (IBAction)pwdInput:(id)sender { }- (IBAction)cancelTextField:(id)sender {[self.userName resignFirstResponder];[self.pswTextField resignFirstResponder]; }@end




四. 多行文本控件 (UITextView)



1. UITextView 簡介




(1) UITextView 繼承結(jié)構(gòu)


UITextView 繼承結(jié)構(gòu)簡介 :?

-- 基類 : 繼承了 UIScrollView : UIView 控件, 默認這些控件都自帶滾動條;



(2) UITextView 屬性類別


UITextView 屬性類別 :?

-- TextView 屬性 : UITextView 父類的屬性;


-- ScrollView 屬性 : UIScrollView 父類的屬性;




(3) UITextView 與 UITextField 區(qū)別


UITextView 與 UITextField 區(qū)別 :?

-- 單行與多行 : UITextView 是多行文本, UITextField 是單行文本;

-- 不能觸發(fā)事件 : UITextView 沒有繼承 UIControl 控件, 不能綁定 IBAction 事件處理方法;

-- 可滾動 : UITextView 繼承了 UIScrollView, 有 UIScrollView 的各種功能特性;





2. UIScrollView 屬性簡介



(1) UIScrollView 簡介


UIScrollView 簡介 :?

-- 顯示內(nèi)容多 : 可滾動控件, 可以使用手指拖動控件中的內(nèi)容, 在其中可以顯示多個屏幕的內(nèi)容;



(2) UIScrollView 顯示區(qū)域?qū)傩?/span>


UIScrollView 顯示區(qū)域?qū)傩?/span> :?

-- contentSize : 屬性是一個 CGSize 類型值, CGSize 是結(jié)構(gòu)體, 包含 width, height 兩個成員變量, 代表完整內(nèi)容的寬度和高度;

-- contentInset : 屬性值是一個 UIEdgeInset 類型值, UIEdgeInset 是結(jié)構(gòu)體, 包含 top, left, bottom, right 四個成員變量, 顯示內(nèi)容 上下左右 的空白;

-- contentOffset : 屬性值是一個 CGPoint 類型值, CGPoint 是結(jié)構(gòu)體, 包含 x, y 兩個變量, 代表 UIScrollView 的可視區(qū)域顯示內(nèi)容上滾動距離;



(3) Scroll Indicators 屬性


Scroll Indicators 屬性 :?


-- Shows Horizontal Indicator : 水平滾動 Scroll View 時, 顯示水平滾動條;

-- Shows Vertical Indicator : 垂直滾動 ScrollView 時, 顯示垂直滾動條;



(4) Bounce 屬性


Bounce 屬性 :?


-- Bounces : 選中后, 該 UITextView 控件有彈性, 拖動控件內(nèi)容有彈回效果, 沒有勾選時拖到邊界僵硬的停止;

-- Bounce Horizontally : 水平方向有彈性;

-- Bounce Vertically : 垂直方向有彈性;



(5) Zoom 屬性


Zoom 屬性 :?


-- Min : UIScrollView 的最小縮放比例;

-- Max : UIScrollView 的最大縮放比例;



(6) Touch 屬性


Touch 屬性 :?


-- Bounces Zoom : UIScrollView 對內(nèi)容縮放時有彈性, 縮小放大時比例超過控件的 minimumZoomScale 或 maximumZoomScale 縮放限制, 迅速彈回;?

-- Delays Content Touches : 手勢完成后才能滾動 UIScrollView 控件, 如果沒有勾選, 用戶碰觸該控件立即調(diào)用 touchesShouldBegin 方法處理滾動;?

-- Cancellabel Content Touches : 勾選后, 如果拖動手指不能啟動一個滾動事件, 會調(diào)用 touchesCancelled 方法, 建議勾選;?




3. UITextView 常用方法簡介



(1) UITextView 簡介


UITextView 繼承結(jié)構(gòu) : UITextView 繼承了 UIScrollView, 沒有繼承 UIControl, 因此該控件沒有 Touch Up Inside 等綁定事件;

-- 下面是 UITextView 的控件拖動內(nèi)容設(shè)置 :?




(2) UITextView 委托方法簡介


UITextView 委托方法簡介 :?

-- 委托方式 : UITextView 將事件交給委托對象處理, 其委托對象實現(xiàn)了 UITextViewDelegate 協(xié)議, 下面介紹該協(xié)議的各種方法;

-- "- textViewShouldBeginEditing :" 方法 : 用戶將要開始編輯 UITextView 內(nèi)容時激發(fā)該方法;

-- "- textViewDidBeginEditing : " 方法 : 用戶開始編輯 UITextView 內(nèi)容后 激發(fā)該方法;

-- "- textViewShouldEndEditing : " 方法 : 將要結(jié)束編輯 UITextView 控件時激發(fā)該方法;

-- "- textViewDidEndEditing : " 方法 : 結(jié)束編輯 UITextView 控件后激發(fā)該方法;

-- "- textView : shouldChangeTextInRange : replacementText : " 方法 : UITextView 控件指定范圍的文本內(nèi)容將要被替換時激發(fā)的方法;

-- "- textViewDidChange : " 方法 : 文本內(nèi)容發(fā)生改變時, 激發(fā)該方法;

-- "- textViewDidChangeSelection : " 方法 : 選中 UITextView 控件內(nèi)文本時激發(fā)該方法;





4. UITextView 虛擬鍵盤關(guān)閉



(1) 需求分析


UITextView 與 UITextField 中使用的虛擬鍵盤對比 :?

-- UITextField 虛擬鍵盤 : 右下角的鍵是 Done, 按下這個鍵可以設(shè)置成關(guān)閉虛擬鍵盤;


-- UITextView 虛擬鍵盤 : 由于 UITextView 是多行文本, 右下角的鍵是 return, 這個鍵是 回車鍵, 如果我們想要將虛擬鍵盤退出需要有其他方法;




(2) 點擊背景控件關(guān)閉虛擬鍵盤


點擊背景控件關(guān)閉虛擬鍵盤 :?

-- 1. 將背景控件設(shè)置為 UIControl : 之前的 UIView 不能響應(yīng)點擊事件, 在身份檢查器 面板將 Custom Class 由 UIView 修改為 UIControl;


-- 2. 設(shè)置背景控件的點擊方法 : 生成對應(yīng)代碼;


- (IBAction)cancelTextField:(id)sender;

-- 3. 創(chuàng)建 UITextView 的 IBOutlet :?

@property (strong, nonatomic) IBOutlet UITextView *textView;
-- 4. sender 方法實現(xiàn) :?

- (IBAction)cancelTextField:(id)sender {[self.userName resignFirstResponder];[self.pswTextField resignFirstResponder];[self.textView resignFirstResponder]; }

源碼示例 :?

-- 界面設(shè)計文件 :?


-- OCViewController.h :?

// // OCViewController.h // OC_UITextField // // Created by octopus on 15-12-2. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController @property (strong, nonatomic) IBOutlet UITextField *userName; @property (strong, nonatomic) IBOutlet UITextField *pswTextField; @property (strong, nonatomic) IBOutlet UITextView *textView; - (IBAction)userNameInput:(id)sender; - (IBAction)pwdInput:(id)sender; - (IBAction)cancelTextField:(id)sender;@end

-- OCViewController.m :?

// // OCViewController.m // OC_UITextField // // Created by octopus on 15-12-2. // 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)userNameInput:(id)sender {//sender 放棄響應(yīng), 虛擬鍵盤消失[self.userName resignFirstResponder]; }- (IBAction)pwdInput:(id)sender { }- (IBAction)cancelTextField:(id)sender {[self.userName resignFirstResponder];[self.pswTextField resignFirstResponder];[self.textView resignFirstResponder]; }@end


(3) 導(dǎo)航按鈕關(guān)閉虛擬鍵盤



導(dǎo)航按鈕關(guān)閉虛擬鍵盤 :?

-- 1. 實現(xiàn) UITextViewDelegate 協(xié)議 :?

@interface OCViewController : UIViewController <UITextViewDelegate>
-- 2. 創(chuàng)建 UITextView 的IBOutlet :?

@property (strong, nonatomic) IBOutlet UITextView *textView;

-- 3. 設(shè)置 UITextView 的協(xié)議委托者 :?

//設(shè)置 UITextView 的控件委托對象為本類 OCViewController 對象self.textView.delegate = self;


-- 4. 實現(xiàn) UITextViewDelegate 協(xié)議方法 :?

- (void) textViewDidBeginEditing:(UITextView *)textView{//開始編輯是顯示導(dǎo)航條按鈕self.navItem.rightBarButtonItem = done; }- (void) textViewDidEndEditing:(UITextView *)textView{//結(jié)束編輯是不現(xiàn)實導(dǎo)航條按鈕self.navItem.rightBarButtonItem = nil; }


-- 5. 創(chuàng)建并初始化導(dǎo)航條 :?

//創(chuàng)建導(dǎo)航條UINavigationBar *bar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)];//將導(dǎo)航條添加到 UIView 布局中[self.view addSubview:bar];//初始化導(dǎo)航條self.navItem = [[UINavigationItem alloc] initWithTitle:@"導(dǎo)航欄按鈕取消虛擬鍵盤" ];
-- 6. 設(shè)置按鈕內(nèi)容 :?

//向?qū)Ш綏l中加入按鈕bar.items = [NSArray arrayWithObjects:self.navItem, nil];//創(chuàng)建導(dǎo)航條中的按鈕done = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(finish)];




源碼示例 :?

-- 界面設(shè)計文件 :?


-- OCViewController.h :?

// // OCViewController.h // OC_UITextField // // Created by octopus on 15-12-2. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController <UITextViewDelegate> @property (strong, nonatomic) IBOutlet UITextField *userName; @property (strong, nonatomic) IBOutlet UITextField *pswTextField; @property (strong, nonatomic) IBOutlet UITextView *textView; - (IBAction)userNameInput:(id)sender; - (IBAction)pwdInput:(id)sender; - (IBAction)cancelTextField:(id)sender;@end

-- OCViewController.m :?

// // OCViewController.m // OC_UITextField // // Created by octopus on 15-12-2. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController () @property (nonatomic, strong) UINavigationItem * navItem; @end@implementation OCViewControllerUIBarButtonItem * done;- (void)viewDidLoad {[super viewDidLoad];//設(shè)置 UITextView 的控件委托對象為本類 OCViewController 對象self.textView.delegate = self;//創(chuàng)建導(dǎo)航條UINavigationBar *bar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)];//將導(dǎo)航條添加到 UIView 布局中[self.view addSubview:bar];//初始化導(dǎo)航條self.navItem = [[UINavigationItem alloc] initWithTitle:@"導(dǎo)航欄按鈕取消虛擬鍵盤" ];//向?qū)Ш綏l中加入按鈕bar.items = [NSArray arrayWithObjects:self.navItem, nil];//創(chuàng)建導(dǎo)航條中的按鈕done = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(finish)];}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (IBAction)userNameInput:(id)sender {//sender 放棄響應(yīng), 虛擬鍵盤消失[self.userName resignFirstResponder]; }- (IBAction)pwdInput:(id)sender { }- (IBAction)cancelTextField:(id)sender {[self.userName resignFirstResponder];[self.pswTextField resignFirstResponder];[self.textView resignFirstResponder]; }- (void) textViewDidBeginEditing:(UITextView *)textView{//開始編輯是顯示導(dǎo)航條按鈕self.navItem.rightBarButtonItem = done; }- (void) textViewDidEndEditing:(UITextView *)textView{//結(jié)束編輯是不現(xiàn)實導(dǎo)航條按鈕self.navItem.rightBarButtonItem = nil; }- (void) finish{[self.userName resignFirstResponder];[self.pswTextField resignFirstResponder];[self.textView resignFirstResponder]; }@end

-- 展示效果 : 點擊 Done 即可關(guān)閉按鈕;





(4) 自定義鍵盤附件關(guān)閉虛擬鍵盤


自定義鍵盤附件 :?

-- 作用 : 不是所有的應(yīng)用都有導(dǎo)航欄, 在沒有導(dǎo)航欄的應(yīng)用中, 需要有鍵盤附件來關(guān)閉鍵盤;

-- 1. 創(chuàng)建工具條并設(shè)置風格 :?

//創(chuàng)建 ToolBar 工具條UIToolbar * toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];//設(shè)置工具條風格[toolBar setBarStyle:UIBarStyleDefault];
-- 2. 創(chuàng)建按鈕 :?

//創(chuàng)建第一個按鈕UIBarButtonItem * buttonItem = [[UIBarButtonItem alloc] initWithTitle:@"鍵盤附件" style:UIBarButtonItemStyleBordered target:self action:nil];
-- 3. 將按鈕設(shè)置到工具條中 :?

//將按鈕放在集合中NSArray * buttonArray = [NSArray arrayWithObjects:buttonItem, spaceItem, doneItem, nil];//為工具條設(shè)置按鈕[toolBar setItems:buttonArray];
-- 4. 將工具條設(shè)置成 虛擬鍵盤 附件 :?

//將工具條關(guān)聯(lián)到 UITextView, 作為虛擬鍵盤附件[self.textView setInputAccessoryView:toolBar];


源碼工程實例 :?

-- 界面設(shè)計文件 :?


-- OCViewController.h :?

// // OCViewController.h // OC_UITextField // // Created by octopus on 15-12-2. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController <UITextViewDelegate> @property (strong, nonatomic) IBOutlet UITextField *userName; @property (strong, nonatomic) IBOutlet UITextField *pswTextField; @property (strong, nonatomic) IBOutlet UITextView *textView; - (IBAction)userNameInput:(id)sender; - (IBAction)pwdInput:(id)sender; - (IBAction)cancelTextField:(id)sender;@end

-- OCViewController.m :?

// // OCViewController.m // OC_UITextField // // Created by octopus on 15-12-2. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController () @property (nonatomic, strong) UINavigationItem * navItem; @end@implementation OCViewControllerUIBarButtonItem * done;- (void)viewDidLoad {[super viewDidLoad];//設(shè)置 UITextView 的控件委托對象為本類 OCViewController 對象self.textView.delegate = self;//創(chuàng)建導(dǎo)航條UINavigationBar *bar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)];//將導(dǎo)航條添加到 UIView 布局中[self.view addSubview:bar];//初始化導(dǎo)航條self.navItem = [[UINavigationItem alloc] initWithTitle:@"導(dǎo)航欄按鈕取消虛擬鍵盤" ];//向?qū)Ш綏l中加入按鈕bar.items = [NSArray arrayWithObjects:self.navItem, nil];//創(chuàng)建導(dǎo)航條中的按鈕done = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(finish)];/** 下面是自定義鍵盤附件的代碼*///創(chuàng)建 ToolBar 工具條UIToolbar * toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];//設(shè)置工具條風格[toolBar setBarStyle:UIBarStyleDefault];//創(chuàng)建第一個按鈕UIBarButtonItem * buttonItem = [[UIBarButtonItem alloc] initWithTitle:@"鍵盤附件" style:UIBarButtonItemStyleBordered target:self action:nil];//創(chuàng)建第二個按鈕UIBarButtonItem * spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:self action:nil];//創(chuàng)建第三個按鈕UIBarButtonItem * doneItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(finish)];//將按鈕放在集合中NSArray * buttonArray = [NSArray arrayWithObjects:buttonItem, spaceItem, doneItem, nil];//為工具條設(shè)置按鈕[toolBar setItems:buttonArray];//將工具條關(guān)聯(lián)到 UITextView, 作為虛擬鍵盤附件[self.textView setInputAccessoryView:toolBar];}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (IBAction)userNameInput:(id)sender {//sender 放棄響應(yīng), 虛擬鍵盤消失[self.userName resignFirstResponder]; }- (IBAction)pwdInput:(id)sender { }- (IBAction)cancelTextField:(id)sender {[self.userName resignFirstResponder];[self.pswTextField resignFirstResponder];[self.textView resignFirstResponder]; }- (void) textViewDidBeginEditing:(UITextView *)textView{//開始編輯是顯示導(dǎo)航條按鈕self.navItem.rightBarButtonItem = done; }- (void) textViewDidEndEditing:(UITextView *)textView{//結(jié)束編輯是不現(xiàn)實導(dǎo)航條按鈕self.navItem.rightBarButtonItem = nil; }- (void) finish{[self.userName resignFirstResponder];[self.pswTextField resignFirstResponder];[self.textView resignFirstResponder]; }@end
-- 界面實例 :?






5. 自定義選擇菜單



(1) 自定義菜單簡介


自定義菜單 :?

-- 1. 創(chuàng)建菜單選項 :?

//創(chuàng)建菜單項UIMenuItem * delete = [[UIMenuItem alloc] initWithTitle:@"刪除內(nèi)容" action:@selector(deleteContent:)];
-- 2. 獲取菜單 :?

//獲取菜單UIMenuController * menu = [UIMenuController sharedMenuController];
-- 3. 設(shè)置菜單附加按鈕 :?

//設(shè)置菜單中的附加按鈕[menu setMenuItems:[NSArray arrayWithObject:delete]];



(2) 源碼示例


源碼示例 :?

-- OCViewController.h :?

// // OCViewController.h // OC_UITextField // // Created by octopus on 15-12-2. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import <UIKit/UIKit.h>@interface OCViewController : UIViewController <UITextViewDelegate> @property (strong, nonatomic) IBOutlet UITextField *userName; @property (strong, nonatomic) IBOutlet UITextField *pswTextField; @property (strong, nonatomic) IBOutlet UITextView *textView; - (IBAction)userNameInput:(id)sender; - (IBAction)pwdInput:(id)sender; - (IBAction)cancelTextField:(id)sender;@end

-- OCViewController.m :?

// // OCViewController.m // OC_UITextField // // Created by octopus on 15-12-2. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController () @property (nonatomic, strong) UINavigationItem * navItem; @end@implementation OCViewControllerUIBarButtonItem * done;- (void)viewDidLoad {[super viewDidLoad];//設(shè)置 UITextView 的控件委托對象為本類 OCViewController 對象self.textView.delegate = self;//創(chuàng)建導(dǎo)航條UINavigationBar *bar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)];//將導(dǎo)航條添加到 UIView 布局中[self.view addSubview:bar];//初始化導(dǎo)航條self.navItem = [[UINavigationItem alloc] initWithTitle:@"導(dǎo)航欄按鈕取消虛擬鍵盤" ];//向?qū)Ш綏l中加入按鈕bar.items = [NSArray arrayWithObjects:self.navItem, nil];//創(chuàng)建導(dǎo)航條中的按鈕done = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(finish)];/** 下面是自定義鍵盤附件的代碼*///創(chuàng)建 ToolBar 工具條UIToolbar * toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];//設(shè)置工具條風格[toolBar setBarStyle:UIBarStyleDefault];//創(chuàng)建第一個按鈕UIBarButtonItem * buttonItem = [[UIBarButtonItem alloc] initWithTitle:@"鍵盤附件" style:UIBarButtonItemStyleBordered target:self action:nil];//創(chuàng)建第二個按鈕UIBarButtonItem * spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:self action:nil];//創(chuàng)建第三個按鈕UIBarButtonItem * doneItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(finish)];//將按鈕放在集合中NSArray * buttonArray = [NSArray arrayWithObjects:buttonItem, spaceItem, doneItem, nil];//為工具條設(shè)置按鈕[toolBar setItems:buttonArray];//將工具條關(guān)聯(lián)到 UITextView, 作為虛擬鍵盤附件[self.textView setInputAccessoryView:toolBar];/** 下面是自定義選中菜單代碼*///創(chuàng)建菜單項UIMenuItem * delete = [[UIMenuItem alloc] initWithTitle:@"刪除內(nèi)容" action:@selector(deleteContent:)];//獲取菜單UIMenuController * menu = [UIMenuController sharedMenuController];//設(shè)置菜單中的附加按鈕[menu setMenuItems:[NSArray arrayWithObject:delete]];}- (BOOL) canPerformAction:(SEL)action withSender:(id)sender{if(action == @selector(deleteContent:)){if(self.textView.selectedRange.length > 0){return YES;}}return NO; }- (void) deleteContent : (id) sender{NSLog(@"刪除按鈕被點擊, 刪除操作"); }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (IBAction)userNameInput:(id)sender {//sender 放棄響應(yīng), 虛擬鍵盤消失[self.userName resignFirstResponder]; }- (IBAction)pwdInput:(id)sender { }- (IBAction)cancelTextField:(id)sender {[self.userName resignFirstResponder];[self.pswTextField resignFirstResponder];[self.textView resignFirstResponder]; }- (void) textViewDidBeginEditing:(UITextView *)textView{//開始編輯是顯示導(dǎo)航條按鈕self.navItem.rightBarButtonItem = done; }- (void) textViewDidEndEditing:(UITextView *)textView{//結(jié)束編輯是不現(xiàn)實導(dǎo)航條按鈕self.navItem.rightBarButtonItem = nil; }- (void) finish{[self.userName resignFirstResponder];[self.pswTextField resignFirstResponder];[self.textView resignFirstResponder]; }@end

-- 界面示例 :?









五. 開關(guān)按鈕 (UISwitch)



1. UISwitch 示例



UISwitch 屬性 :?


-- 創(chuàng)建 UISwitch 的 IBAction :?


-- OCViewController.h :?

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

-- OCViewController.m :?

// // OCViewController.m // UISwitchButton // // Created by octopus on 15-12-3. // Copyright (c) 2015年 www.octopus.org.cn. All rights reserved. //#import "OCViewController.h"@interface OCViewController ()@end@implementation OCViewController- (void)viewDidLoad {[super viewDidLoad]; }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning]; }- (IBAction)valueChange:(id)sender {if([sender isOn] == YES){self.view.backgroundColor = [UIColor whiteColor];}else{self.view.backgroundColor = [UIColor blackColor];} }@end

-- 界面示例 關(guān)閉 :?



-- 界面示例 打開 :?





總結(jié)

以上是生活随笔為你收集整理的【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

亚洲综合小说 | 日本精品在线 | 精品国产一区二区三区在线观看 | 九九九九精品九九九九 | 精品国产一区二区三区免费 | 国产免费av一区二区三区 | 国产精品久久久久久一区二区三区 | 亚洲精品男女 | 久草在线综合 | 成在人线av | 日韩在线精品一区 | 一级α片 | 日韩免费av网址 | 天天夜操 | 日韩高清免费电影 | 国内丰满少妇猛烈精品播 | 国内精品免费久久影院 | 亚洲国产精品成人综合 | 蜜桃av人人夜夜澡人人爽 | www日韩视频 | 在线观看中文av | 天天透天天插 | 成人a视频 | 亚洲精品国产精品久久99热 | 亚洲成a人片在线观看网站口工 | 国产91学生粉嫩喷水 | 婷婷久久国产 | 激情av网址| a√天堂中文在线 | 91porny九色91啦中文 | 久久精品看 | 久操视频在线 | 狠狠干综合 | 亚洲自拍偷拍色图 | 成人高清在线观看 | 尤物九九久久国产精品的分类 | 亚洲最新视频在线 | 中文字幕视频三区 | 国产vs久久 | 日精品在线观看 | 中文字幕视频三区 | 91av99| 久久国色夜色精品国产 | 日本bbbb摸bbbb| 久久婷婷五月综合色丁香 | 国产精品女人久久久 | 国产精品美女 | 精品久久久久久亚洲综合网站 | 久久综合五月天婷婷伊人 | 久久国产精品精品国产色婷婷 | 日韩av一区二区在线播放 | 精品在线观看免费 | 草久草久 | 毛片永久新网址首页 | 久久精品国产免费观看 | 精品久久五月天 | 一区二区三区三区在线 | 超碰97国产在线 | 91视频免费看网站 | 色亚洲激情| 特黄免费av | 999精品在线 | 国产精品久久久久久久久久尿 | 国产视频1 | 久久久毛片 | 欧美大片大全 | 99国产一区二区三精品乱码 | 国产特黄色片 | 免费看污在线观看 | h视频在线看 | 999视频在线观看 | 国产精品久久久久久麻豆一区 | 亚洲精品女人久久久 | 国产精品视频999 | 国内精品久久久久影院日本资源 | av一级片 | 久久无码av一区二区三区电影网 | 国产精品一区二区三区四 | 制服丝袜欧美 | 亚洲精品在线二区 | 中文视频在线 | 黄色网在线免费观看 | 97香蕉视频| 在线观看亚洲精品视频 | 日韩精品一区二区三区水蜜桃 | 国产精品一区二区三区久久 | 伊人影院在线观看 | 亚洲爱爱视频 | 欧美午夜精品久久久久 | 国产超碰在线观看 | 免费在线观看中文字幕 | 久久xx视频| 欧美精品国产精品 | 中文字幕在线观看视频网站 | 欧美日韩高清免费 | 国产高清在线看 | 天天干天天草天天爽 | 久久国产女人 | www.91成人 | 美国三级黄色大片 | 超碰在线最新网址 | 欧美日韩中文另类 | 午夜精品电影一区二区在线 | 天天色天天射天天综合网 | 国产99中文字幕 | 4438全国亚洲精品在线观看视频 | 操操操av | 超碰资源在线 | 日韩久久精品一区二区三区下载 | 中文字幕高清视频 | av不卡中文字幕 | 中文字幕首页 | 超碰在线98 | 婷婷激情av| 久久影院亚洲 | 亚洲国产成人在线 | 亚洲精品中文在线资源 | 伊人久久电影网 | 在线a亚洲视频播放在线观看 | 中文字幕在线观看不卡 | av黄在线播放 | 久草在线免费资源站 | 首页av在线| 精品国产综合区久久久久久 | 日韩电影在线观看中文字幕 | 欧美va天堂在线电影 | 亚洲永久国产精品 | 国产毛片久久久 | 手机看片1042 | 久久老司机精品视频 | 久久精品国产免费看久久精品 | 久久成人免费 | 亚洲精品美女久久17c | www.操.com | 在线成人性视频 | 亚洲精品999| 亚洲精品国久久99热 | 亚洲精品麻豆视频 | 国产精品女人久久久 | 亚洲最新精品 | 国产精品久久久久久久久久三级 | 亚洲国产成人在线播放 | 国产系列在线观看 | www.成人sex | 成人国产亚洲 | 香蕉影院在线播放 | 亚洲精品自拍 | 永久免费毛片在线观看 | 日韩免费看片 | 69av在线视频 | 91九色最新 | 免费色网站 | 在线国产小视频 | 日韩欧美视频在线 | 国产黄色片一级三级 | 久久99精品国产一区二区三区 | 欧美一区免费在线观看 | 久久高清免费视频 | 午夜国产一区二区三区四区 | 天天综合网 天天综合色 | 国产精品久久久久久久久久久久久久 | 精品专区| 久久国产精品久久国产精品 | a午夜在线 | 日韩免费观看av | 免费看一级特黄a大片 | 免费视频资源 | 国产免费三级在线观看 | 成人黄色小视频 | 91在线在线观看 | 狠狠干综合 | 国产在线精品福利 | 国产精品一区二区三区电影 | 久久久久成人精品亚洲国产 | 日韩欧美高清免费 | 欧美一二三区播放 | 日本精品一区二区三区在线播放视频 | 国产成人久 | 中文字幕国产在线 | 麻豆国产精品永久免费视频 | 麻豆一区二区 | av蜜桃在线| 欧美韩日视频 | 国产精品第一页在线 | 亚洲精品视频免费在线 | 亚洲欧美日本一区二区三区 | 在线观看精品国产 | 午夜av免费看 | 国产一区免费观看 | 亚洲日本va午夜在线电影 | 久久久www | 国产91精品一区二区麻豆网站 | 亚洲国产精品第一区二区 | 亚洲激情p | 青青河边草手机免费 | 久久精品女人毛片国产 | av在线进入 | 91成人欧美 | 色婷婷天天干 | 成+人+色综合| 国产在线 一区二区三区 | 国产精品va最新国产精品视频 | 天天色综合1 | 久久电影国产免费久久电影 | 国产日产欧美在线观看 | 国产亚洲欧洲 | 久久久精品网站 | 精品1区2区3区 | 久久久久在线观看 | 超碰99在线| 五月导航 | 欧美精品久久久久性色 | 人人爱人人做人人爽 | 欧美在线1区 | 在线免费观看黄网站 | 精品福利国产 | 日本久久高清视频 | 天天操天天操天天爽 | 久久手机免费观看 | 亚洲三级av| 日韩电影一区二区在线观看 | 国产精品视频免费观看 | 在线观看av大片 | 成人福利av | 五月婷婷国产 | 国产精品黄网站在线观看 | 在线观看激情av | 九热在线 | 中文在线免费观看 | 色黄www小说| 西西444www大胆高清视频 | 91精品一区二区三区蜜桃 | 国产精品免费久久久 | www.夜夜干.com | 久久女教师 | 丁香六月国产 | 人人干天天干 | 97在线视频免费观看 | 欧美污污网站 | 久久丁香网 | 免费高清无人区完整版 | 麻豆视频免费 | 欧美精品三级 | 国产黄大片在线观看 | 亚洲精品国产精品国自产 | 成人一区在线观看 | 日韩二区三区在线 | 日韩视频一区二区三区 | 麻豆视频免费看 | 97超级碰| 久久久久欠精品国产毛片国产毛生 | 国产伦理久久 | 久久99免费视频 | 亚洲黄色激情小说 | 911在线| 久久精品国产精品亚洲精品 | 免费久久视频 | 97色在线观看免费视频 | 最新色站| 在线视频日韩精品 | 国产视频一区在线 | 日韩精品高清视频 | 亚洲特级片| 啪啪肉肉污av国网站 | 国产在线观看a | 欧美日韩一级视频 | 久久好看免费视频 | 最近免费中文字幕大全高清10 | 国产人成一区二区三区影院 | 国产精品免费久久久久久久久久中文 | 日韩欧美在线视频一区二区三区 | 日本一区二区三区免费观看 | av电影一区二区 | 色婷婷综合久久久久中文字幕1 | 国产91大片 | 久久免费99 | 中文字幕欧美激情 | 精品免费一区二区三区 | 五月天综合激情网 | 国产高清一级 | 一区二区观看 | 国产精品99精品 | 亚洲最新在线 | 在线观看不卡视频 | 99999精品视频 | 看黄色.com| 日日日天天天 | 久久大香线蕉app | 91成熟丰满女人少妇 | 日韩免费一区二区三区 | 亚洲闷骚少妇在线观看网站 | 国产在线一卡 | 日韩av中文字幕在线免费观看 | 91成人免费在线 | 国产真实精品久久二三区 | 国产一级免费在线观看 | 婷婷九九 | 国产精品av免费 | av免费黄色| 久久精品国产一区二区电影 | 日韩免费观看一区二区 | 亚洲国产电影在线观看 | 中文字幕乱码一区二区 | 欧美成人h版在线观看 | 97人人模人人爽人人喊网 | 狠狠色香婷婷久久亚洲精品 | 三级黄色片子 | 黄色app网站在线观看 | 五月婷婷开心 | 国产精品手机看片 | 在线观看av免费观看 | 欧洲高潮三级做爰 | 玖玖玖精品 | 免费黄色看片 | 特级aaa毛片 | 一区二区电影在线观看 | av免费看在线 | 蜜臀久久99精品久久久无需会员 | 国产精品福利在线观看 | 人人艹视频 | 国产高清久久 | 91久久久久久久一区二区 | 国内精品久久久久国产 | 五月婷婷丁香色 | 草樱av | 婷婷丁香六月 | 国产91免费在线 | 99视频精品 | 亚洲一级片免费观看 | 天天操天天干天天操天天干 | 国产中文在线播放 | 日韩中文字幕视频在线观看 | 欧洲视频一区 | 91毛片视频 | 婷婷爱五月天 | 超级碰碰免费视频 | 国产一区在线观看免费 | 日韩大片在线免费观看 | 国产精品九色 | 久草在线官网 | japanese黑人亚洲人4k | 日韩一级黄色av | 亚洲黄色在线看 | 久久久资源网 | 在线观看视频国产 | 天天色天天艹 | 伊人成人精品 | 国产二区视频在线 | 国产亚洲字幕 | 亚洲区另类春色综合小说校园片 | 香蕉视频一级 | 波多野结衣日韩 | 狠狠干我 | 久久96国产精品久久99漫画 | 精品久久久成人 | 91免费看黄 | 91在线精品观看 | 久久精品国产成人 | 色中色综合| 久久久www成人免费精品张筱雨 | 国产视| 日韩理论影院 | 免费看一级片 | 99久久夜色精品国产亚洲 | 8x8x在线观看视频 | 久久99精品久久久久久秒播蜜臀 | 欧美老人xxxx18 | 欧美日韩国产网站 | 精品国产免费人成在线观看 | 色婷婷激情五月 | 午夜婷婷在线观看 | free,性欧美| 日本在线h| 久久婷婷视频 | 99精品黄色 | 九九免费视频 | 99热九九这里只有精品10 | 久久久免费观看视频 | av免费网站在线观看 | 欧美日韩午夜爽爽 | 久久福利剧场 | 91麻豆文化传媒在线观看 | 天天综合日 | 在线观看一级视频 | 日韩精品免费一区二区三区 | 日韩大陆欧美高清视频区 | 欧美一级片免费播放 | 黄色三级网站在线观看 | 欧美做受xxx | 欧美性色黄 | 91精品国产综合久久福利不卡 | 亚洲国产三级在线 | 少妇搡bbbb搡bbb搡aa | 婷婷视频 | 久久福利在线 | 在线看一区二区 | 免费在线播放 | 欧美精品一区二区在线播放 | 91精品欧美一区二区三区 | 在线观看免费 | www.天天射 | 国产精品免费观看视频 | 免费合欢视频成人app | 国内精品久久久久久久久久久久 | 99精品视频网 | 免费精品视频 | 国产精品久久99综合免费观看尤物 | 亚洲日本三级 | 国产精品你懂的在线观看 | 在线观看免费成人av | 久久久久久久久久久高潮一区二区 | 人人爽人人爽人人爽人人爽 | 日本在线观看中文字幕无线观看 | 激情www | 国产高清视频免费 | 五月婷婷激情六月 | 在线观看色网站 | 国产福利小视频在线 | 最近中文字幕视频网 | 91丨九色丨勾搭 | 国产精品毛片久久久 | 又黄又爽又湿又无遮挡的在线视频 | 免费a v观看 | 99久久精品国产一区二区成人 | 黄色精品一区 | 日本久久久久久久久久 | 日韩av免费网站 | 亚洲春色综合另类校园电影 | 在线中文字幕av观看 | 国产综合婷婷 | 999久久久久久久久 69av视频在线观看 | 美女免费网站 | 最近免费观看的电影完整版 | 欧美日韩xx | 91亚洲影院 | 99中文视频在线 | 日韩91av | 精品在线看 | av一级黄| 在线欧美小视频 | 国产成人免费 | 欧美激情片在线观看 | 九九热视频在线 | 人人看人人 | 亚洲欧美激情精品一区二区 | 99精品久久久久久久久久综合 | 九草视频在线 | 97视频人人| 黄色av电影在线观看 | 97碰碰精品嫩模在线播放 | 伊人中文在线 | 天天爽夜夜爽人人爽一区二区 | 91精品日韩 | 美女黄网站视频免费 | 一本色道久久综合亚洲二区三区 | 婷久久 | 亚洲a在线观看 | 成人少妇影院yyyy | 亚洲男男gaygayxxxgv| 色综合咪咪久久网 | 日韩激情久久 | 久久黄色小说 | 天天操天天干天天玩 | 日韩大片在线免费观看 | 国产一区久久 | 午夜色大片在线观看 | 麻豆av电影 | 亚洲 综合 国产 精品 | 99久久久国产免费 | 日本高清dvd | 91九色性视频 | 日韩国产精品一区 | 久久免费视频这里只有精品 | 免费91麻豆精品国产自产在线观看 | 天堂av免费看 | 日本黄色一级电影 | 欧美日韩精品影院 | 日韩在线视频在线观看 | 一区三区视频 | 中文字幕美女免费在线 | 欧美一级性生活片 | 日韩欧美网址 | 欧美一区二区伦理片 | 中文字幕一区在线观看视频 | 婷婷色综合网 | 在线一级片 | 天天操天天干天天爽 | 久久精品视| 欧美三级在线播放 | 五月天久久激情 | 国产一区欧美二区 | 激情综合色播五月 | 黄色avwww| 亚洲国产精品成人av | 欧美男同网站 | 亚洲欧美激情插 | 国产精品五月天 | 久久成人国产精品一区二区 | 久久无码av一区二区三区电影网 | 国产中文欧美日韩在线 | 久久久综合九色合综国产精品 | 99精品欧美一区二区 | 天天拍天天色 | 伊人激情综合 | a v在线视频| 91色吧| 欧美精品在线一区二区 | 久草久草视频 | 国产玖玖精品视频 | 91精品久久久久久久91蜜桃 | 亚洲 欧美变态 另类 综合 | av中文在线| 国产日女人| 色欧美88888久久久久久影院 | 日韩中文字幕免费看 | 免费视频国产 | 在线免费看黄色 | 99在线免费观看 | 免费激情在线电影 | 91麻豆高清视频 | 久久久久久久久久久久久久电影 | 成人毛片一区二区三区 | 国产字幕在线看 | 欧日韩在线视频 | 天天拍天天草 | 午夜色站 | 国产亚洲视频系列 | 久久久国际精品 | 久久丁香网 | 狠狠色丁香婷婷综合 | 在线观看av大片 | 麻豆视频国产在线观看 | 91成版人在线观看入口 | 欧美激情视频久久 | 2000xxx影视 | 黄色a级片在线观看 | 伊人久久国产精品 | 夜又临在线观看 | 亚洲午夜久久久久久久久电影网 | 91桃色免费观看 | 国产午夜精品免费一区二区三区视频 | 国产在线视频不卡 | 亚洲精品乱码久久久久久蜜桃不爽 | 亚洲一区二区三区毛片 | 一区三区在线欧 | 91成人在线视频 | 国产精品成人在线观看 | 美女福利视频 | 狠狠色网 | 国产福利一区二区三区在线观看 | 欧美一区成人 | 亚洲开心激情 | 91视频亚洲| 国产精品99免费看 | 亚洲资源在线观看 | 亚洲国产精品激情在线观看 | 欧美激情综合五月色丁香 | 丁香六月天婷婷 | 日本精品在线 | 亚洲aⅴ乱码精品成人区 | 91九色国产视频 | 精品在线视频一区 | 91丨九色丨91啦蝌蚪老版 | 九色视频网站 | 在线国产福利 | 久久观看| 国产欧美精品一区二区三区 | 欧美不卡视频在线 | 久久爱www. | 国产精品久久99综合免费观看尤物 | 中文字幕在线播放av | 亚洲日韩欧美视频 | 91三级在线观看 | 久久成人高清视频 | 精品福利在线 | 五月综合久久 | 一本一道久久a久久精品蜜桃 | 国产精品一区二区av影院萌芽 | 四虎在线免费观看 | 婷婷网在线 | 国产黄色片一级 | 精品一区二区久久久久久久网站 | 日韩精品久久久久久久电影99爱 | 婷婷5月色 | 日韩区视频 | 五月天堂网 | 久久草av| 国产小视频在线看 | 久久久午夜剧场 | 日本三级在线观看中文字 | 国产一级a毛片视频爆浆 | 免费黄色一区 | 亚洲综合欧美精品电影 | 国产99亚洲 | 婷婷色在线 | 日韩成人中文字幕 | 狠狠网站 | 亚洲国产片 | 在线 视频 亚洲 | 国产福利91精品一区二区三区 | 午夜视频在线瓜伦 | 国产精品美女www爽爽爽视频 | 成人午夜电影免费在线观看 | 91久久人澡人人添人人爽欧美 | 在线免费观看国产精品 | 亚洲精品久久久蜜桃直播 | 黄色a视频 | 日黄网站| 欧美精品中文字幕亚洲专区 | 午夜在线免费观看视频 | 在线看国产视频 | 久久精品直播 | 成人av动漫在线 | 97超碰影视| 国产黄色网 | 亚洲免费小视频 | 91超级碰| 国产不卡毛片 | 亚洲成人二区 | 激情丁香久久 | 亚洲在线激情 | 日本不卡一区二区三区在线观看 | 96亚洲精品久久久蜜桃 | 伊人色播 | 麻豆一区二区 | 91av在线不卡 | 99色亚洲 | 91在线资源 | 亚洲精品 在线视频 | 国精产品999国精产 久久久久 | 国产91精品一区二区麻豆亚洲 | 欧美日韩国产综合一区二区 | 夜夜骑天天操 | 欧美精彩视频在线观看 | 精品视频免费 | 99精品国产一区二区三区麻豆 | 亚洲一区二区三区四区精品 | 亚洲精品综合一二三区在线观看 | 欧美激情第28页 | 毛片一区二区 | 麻豆视传媒官网免费观看 | 国产一级视频 | 久久精品一区二区三区国产主播 | 天天天在线综合网 | 激情自拍av | 亚洲成人蜜桃 | 热精品| 91爱爱免费观看 | 亚洲国产精品成人av | 91精品国产91久久久久 | 国产无遮挡又黄又爽在线观看 | 欧美99久久 | 99久高清在线观看视频99精品热在线观看视频 | 欧美成人xxx | 久草精品视频在线播放 | 四虎在线免费观看 | 黄色www | 欧美日韩高清在线观看 | 日韩高清在线看 | 日本久久综合网 | 99精品一级欧美片免费播放 | 国产91精品看黄网站 | 国产精品成久久久久三级 | 国产亚洲久一区二区 | 日韩免费在线观看视频 | 国产字幕在线看 | 在线免费黄色毛片 | 精品 一区 在线 | 久久久精品影视 | 亚洲久草在线 | 久久香蕉电影 | 国产美女免费 | 看片网站黄色 | 欧美精品久久久久久久免费 | 在线中文字幕网站 | 国产视频 亚洲视频 | 国产日韩亚洲 | 色老板在线| 久久久久在线 | 中文字幕在线免费看线人 | 免费视频一级片 | 日韩av电影免费观看 | 国产精品久久久久久久久久久久午夜 | 96在线| 日本狠狠干 | 精品国产一区二区三区久久久蜜月 | 久久精品国产一区 | 国产日韩三级 | 91免费高清在线观看 | 国产精品一区二区三区在线 | 色噜噜噜 | 看av免费| 天天操天天爽天天干 | 亚洲夜夜网 | 不卡电影一区二区三区 | 久久91网| 97超碰色| 久久不色 | 久热国产视频 | 成人免费xxx在线观看 | 99久久精品久久久久久清纯 | 国产亚洲精品久久久久久移动网络 | 一级片观看 | 激情婷婷久久 | 午夜国产福利在线 | 国产精品免费人成网站 | 国产精彩视频一区二区 | 日本久久影视 | 国产精品美女久久久 | 一区三区视频在线观看 | 不卡在线一区 | 成人久久视频 | 亚洲少妇激情 | 精品国产乱码久久久久久1区二区 | 91麻豆精品91久久久久同性 | 国产福利中文字幕 | 久久久国产高清 | 就要干b| 中国美女一级看片 | 午夜精品在线看 | 天天射网| 丁香婷婷综合激情五月色 | 欧美成人黄色 | 天天色天天骑天天射 | 麻豆免费精品视频 | 又黄又爽的免费高潮视频 | 日韩精品一区二区三区不卡 | 久久久国产一区二区三区四区小说 | 国产精品一区二区免费在线观看 | 日日夜夜国产 | 精品在线观看视频 | 国产99久久精品一区二区300 | 黄色毛片一级 | 日日夜夜精品 | 中文字幕国语官网在线视频 | 国产看片 色 | 成人午夜久久 | 日韩中文字幕免费视频 | 日韩成人免费在线电影 | 人人插人人爱 | 夜夜夜精品 | 狠狠艹夜夜干 | 国产精品久久久久久久毛片 | 国产日韩欧美在线影视 | 91免费在线播放 | 四虎www | 米奇影视7777 | 日女人免费视频 | 天天干天天做天天爱 | 91九色视频在线观看 | www.久久成人 | 91亚洲精品久久久久图片蜜桃 | 久久,天天综合 | 午夜性盈盈| 一区二区三区在线观看中文字幕 | 国产剧情一区二区 | 日韩欧美一区视频 | 成片免费 | 天天操天天怕 | 亚洲精品乱码久久久久v最新版 | 久久久一本精品99久久精品 | 一二三区视频在线 | 天天操狠狠操 | 亚州中文av | 亚洲午夜不卡 | 婷婷丁香国产 | 2019av在线视频 | 久久av一区二区三区亚洲 | 亚一亚二国产专区 | 国产精品国内免费一区二区三区 | a视频在线看 | 日韩精品一区二区久久 | 91视频大全 | se视频网址 | 欧美一区中文字幕 | 免费在线观看国产精品 | 成人18视频 | 成年人av在线播放 | 日本三级吹潮在线 | 久草免费电影 | 亚洲精品视频在线免费播放 | 久久少妇| 最近更新的中文字幕 | 91丨九色丨91啦蝌蚪老版 | 国产美女精品视频免费观看 | 日韩免费观看一区二区三区 | 欧美国产高清 | a√天堂资源 | 婷婷av色综合 | 91麻豆产精品久久久久久 | 国产精品久久久精品 | 中文十次啦 | 日本视频高清 | 日韩久久午夜一级啪啪 | 草久久久| 激情av一区二区 | 成人黄色av免费在线观看 | 九九爱免费视频在线观看 | 探花视频网站 | 99r在线视频 | 日韩中文字幕第一页 | 久久人操 | 国产精品k频道 | 免费a视频在线观看 | 久久精品免视看 | 久久精品国产免费 | 欧美二区视频 | 亚洲精品国精品久久99热 | 最近中文字幕完整高清 | 国产98色在线 | 日韩 | 国产黄色在线 | 天天性天天草 | 久久久久国产精品www | 精品国自产在线观看 | 亚洲精品中文字幕视频 | 国产一级片直播 | 国产精品永久在线观看 | av福利第一导航 | 久草视频视频在线播放 | 国产999精品| 97超碰在线资源 | 在线视频你懂得 | 色99导航 | 欧美另类重口 | 亚洲妇女av | 亚洲高清视频在线播放 | 亚洲国产视频在线 | 亚洲免费在线观看视频 | 亚洲区精品视频 | 午夜精品久久久久久久久久久久 | 丁香婷婷激情国产高清秒播 | 欧洲精品码一区二区三区免费看 | 亚洲码国产日韩欧美高潮在线播放 | 午夜精品久久久久久久爽 | 免费高清在线观看成人 | 日韩精品一卡 | 婷久久 | 狠狠狠操| 国产精品久久久久久久久久久久午 | 国产一区二区精品 | 黄色av免费在线 | 国产精品精品久久久 | 欧美天天干 | av动态图片 | 一区二区精品在线 | 99免费看片 | 天堂网中文在线 | 操操操操网 | 麻豆视频国产精品 | 一区二区三区动漫 | 色资源在线 | 狠狠干成人综合网 | 久久a久久 | 欧美激情精品久久久久久 | 欧美片一区二区三区 | 久久这里只有精品9 | 中文字幕欧美日韩va免费视频 | 国产va饥渴难耐女保洁员在线观看 | 免费观看视频的网站 | 欧美日韩免费观看一区=区三区 | 午夜精品一区二区三区在线视频 | 国产精品九九九九九 | 亚洲 欧美 综合 在线 精品 | 久久精品视频网站 | 成人在线视频免费看 | 日韩精品一区二区三区中文字幕 | 日韩一级成人av | 西西444www| 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 97超碰国产在线 | 在线观看免费国产小视频 | 伊人婷婷 | 九九在线视频免费观看 | 日韩av中文 | 国产美女精品久久久 | 国产黄色免费电影 | 亚洲精品成人免费 | 精品久久1| 99热这里只有精品国产首页 | 免费观看一级特黄欧美大片 | 精品福利视频在线观看 | 国内精品在线观看视频 | 日韩一区二区免费在线观看 | 美女网站免费福利视频 | 91麻豆视频 | 九九交易行官网 | 免费看国产曰批40分钟 | 麻豆免费精品视频 | 国产永久网站 | 久久夜夜夜| 特级毛片在线 | 免费在线日韩 | 99性视频| 96精品高清视频在线观看软件特色 | av观看免费在线 | 久久九九精品 | 精品国产一区二区三区四区vr | 人人操日日干 | 国产黄色在线看 | 亚洲另类xxxx| 亚洲免费在线观看视频 | 国产高清av | 天天插天天狠天天透 | 国产情侣一区 | 最近中文字幕在线中文高清版 | 国产成人黄色网址 | 不卡av在线免费观看 | 午夜色性片 | 视频一区二区免费 | 激情av在线播放 | 国产一级一片免费播放放 | av电影av在线| 亚洲一二三在线 | 午夜精品久久久久久中宇69 | 中文字幕在线观看完整版 | 久久,天天综合 | 在线观看91| 久久人人爽人人爽人人片av软件 | 国产精品福利午夜在线观看 | 国产伦理一区二区三区 | 免费特级黄毛片 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 欧美日一级片 | 久久综合欧美精品亚洲一区 | 婷婷色吧| 成人毛片一区 | 天天干天天操天天 | 欧美日韩精品电影 | 久久国产精品久久精品国产演员表 | 日韩国产精品久久久久久亚洲 | 中文字幕日韩国产 | 国产精品自产拍在线观看 | 99精品在线观看 | 国产91电影在线观看 | 国产精品久久久久婷婷 | 久久视频国产 | 久久99婷婷| www.天天干| 最新av在线播放 | 国产成人精品av在线 | 99综合久久 | 欧美日韩1区 | 婷婷色中文网 | 国产青青青 | 九九热视频在线 | www.亚洲黄色 | 人人人爽 | 激情在线网站 | 六月婷婷色 | a天堂在线看 | 日本3级在线观看 | 久久精品99久久久久久2456 | 黄污污网站 | 免费在线观看不卡av | 在线免费日韩 | 天天综合天天做天天综合 | 精品国产乱码久久久久久久 | 免费91麻豆精品国产自产在线观看 | 精品国产一区二区三区四区vr | 五月婷婷在线综合 | 狠狠插狠狠干 | 激情五月六月婷婷 | 国产福利中文字幕 | 91视频黄色 | 99久久夜色精品国产亚洲 | 狠狠色婷婷丁香六月 | 人人网人人爽 | 丝袜少妇在线 | av解说在线 | 久久不卡国产精品一区二区 | 欧美日韩中文字幕在线视频 | 国产99久久精品一区二区300 | www免费看片com | 国产一级不卡毛片 | 精品高清视频 | 精品一区 精品二区 | 最近日本韩国中文字幕 | 日本老少交 | 日韩sese | 在线观看免费中文字幕 | 久久亚洲欧美日韩精品专区 | 热久久这里只有精品 | 久草在线播放视频 | 狠狠色狠狠色综合日日小说 | 在线观看的av | 成人黄色视 | 中文字幕av免费观看 | 国产99久久久精品视频 | 一区二区欧美日韩 | 99在线观看免费视频精品观看 | a视频在线| 国产日韩精品一区二区在线观看播放 | 97精品久久人人爽人人爽 | 蜜臀久久99精品久久久无需会员 | 久久精品国产一区二区三 | 综合网婷婷| 97视频资源 | 911精品视频|