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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

百思不得姐第4天:文本框占位文字颜色

發布時間:2024/6/21 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百思不得姐第4天:文本框占位文字颜色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:設置登錄界面和注冊界面的切換

#import "CQLoginViewController.h" #import "CQCustomTextField.h" @interface CQLoginViewController () @property (weak, nonatomic) IBOutlet NSLayoutConstraint *centerTopConstraints; @property (weak, nonatomic) IBOutlet UIButton *loginbtn; @property (weak, nonatomic) IBOutlet CQCustomTextField *loginScreenField; @property (weak, nonatomic) IBOutlet CQCustomTextField *loginPhoneField; @property (weak, nonatomic) IBOutlet CQCustomTextField *registScreenField; @property (weak, nonatomic) IBOutlet CQCustomTextField *registPhoneField;@end@implementation CQLoginViewController- (void)viewDidLoad {[super viewDidLoad];//1:設置登陸注冊按鈕的圓角效果/**1:[self.loginbtn setValue:@YES forKeyPath:@"layer.masksToBounds"];[self.loginbtn setValue:@6 forKeyPath:@"layer.cornerRadius"];2: self.loginbtn.layer.masksToBounds = YES;self.loginbtn.layer.cornerRadius = 6;3:可以在xib中設置其圓角效果:設置keypath路徑即可*/}#pragma mark -- 注冊按鈕的點擊事件 - (IBAction)registBtn:(UIButton *)sender {//根據點擊的不同的按鈕來顯示登陸或是注冊的文本框/*** 1:可以根據btn.currentTile來判斷 2:根據按鈕的選中狀態來判斷 3:根據約束值來判斷*///1:先退去鍵盤 [self.view endEditing:YES];//2:偏移viewsender.selected = !sender.isSelected;self.centerTopConstraints.constant = sender.isSelected ? (- self.view.CQ_Width) : 0;[UIView animateWithDuration:0.5 animations:^{// 強制刷新 : 讓最新設置的約束值馬上應用到UI控件上// 會刷新到self.view內部的所有子控件 [self.view layoutIfNeeded];}];}#pragma mark -- 取消按鈕點擊事件 - (IBAction)cancleBtn:(UIButton *)sender {[self dismissViewControllerAnimated:YES completion:nil]; } #pragma mark -- 修改狀態欄的樣式- (UIStatusBarStyle)preferredStatusBarStyle {return UIStatusBarStyleLightContent; }#pragma mark -- 點擊空白處退去鍵盤- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {[self.view endEditing:YES]; } @end

總結:1:設置登陸按鈕的圓角效果:1:直接設置按鈕的layer,若是表格視圖,不建議通過layer設置圓角效果,會很耗性能,最好是通過繪圖的方式設置圓角效果 ?2:利用kvc也可以設置圓角效果,kvc一般都是為屬性賦值,setValue forKey直接為屬性賦值,setValue forKeyPath為屬性的路徑賦值,屬性的屬性:

[self.loginbtn setValue:@YES forKeyPath:@"layer.masksToBounds"];[self.loginbtn setValue:@6 forKeyPath:@"layer.cornerRadius"];
3:可以在xib中設置其圓角效果:設置keypath路徑即可

2:一個按鈕的切換:1:sender.selected = !sender.isSelected; 2:三個按鈕的切換:設置currentBtn,按鈕的三部曲

3:在xib中登陸界面,刪除左側的間距約束,拖線左側約束到控制器,根據按鈕的狀態設置左側的約束值。再在UIView的動畫里強制刷新UI: [UIView animateWithDuration:0.5 animations:^{// 強制刷新 : 讓最新設置的約束值馬上應用到UI控件上// 會刷新到self.view內部的所有子控件,立即調用layoutsubview,刷新UI視圖[self.view layoutIfNeeded];}]; 4:設置狀態欄的樣式或是顯示隱藏:就在控制器內設置: - (UIStatusBarStyle)preferredStatusBarStyle {return UIStatusBarStyleLightContent; }

二:封裝占位文字 #import <UIKit/UIKit.h>@interface UITextField (XMGExtension) /** 占位文字顏色 */ @property (nonatomic, strong) UIColor *placeholderColor; @end #import "UITextField+XMGExtension.h"static NSString * const XMGPlaceholderColorKey = @"placeholderLabel.textColor";@implementation UITextField (XMGExtension)- (void)setPlaceholderColor:(UIColor *)placeholderColor {// 提前設置占位文字, 目的 : 讓它提前創建placeholderLabelNSString *oldPlaceholder = self.placeholder;self.placeholder = @" ";self.placeholder = oldPlaceholder;// 恢復到默認的占位文字顏色if (placeholderColor == nil) {placeholderColor = [UIColor colorWithRed:0 green:0 blue:0.0980392 alpha:0.22];}// 設置占位文字顏色 [self setValue:placeholderColor forKeyPath:XMGPlaceholderColorKey]; }//- (void)setPlaceholderColor:(UIColor *)placeholderColor //{ // // 提前設置占位文字, 目的 : 讓它提前創建placeholderLabel // if (self.placeholder.length == 0) { // self.placeholder = @" "; // } // // [self setValue:placeholderColor forKeyPath:XMGPlaceholderColorKey]; //}- (UIColor *)placeholderColor {return [self valueForKeyPath:XMGPlaceholderColorKey]; }@end

總結:1:在分類中不能為類擴充屬性,在分類中以屬性定義變量,此時不會自動生成帶下劃線的成員變量,需要自己手動去實現set和get方法,若想擁有帶下劃線的成員變量,則可以static定義全局變量,在get方法中可以返回。

? ? ? ? 2:當外界傳進來參數的時候,嚴謹一些最好要先判斷外界傳進來的值是否為空,為空return返回或是設置默認值,不為空可以利用kvc為屬性賦值,在get方法中,再利用kvc?valueForKeyPath 取出值并返回

#import "CQCustomTextField.h" #import <objc/runtime.h> @implementation CQCustomTextField/*** 1:從xib中加載完成后會調用,可以在此方法中設置一些一次性代碼,類似于init方法來設置一次性代碼 2:注意的是當執行完此方法后,子控件的數組個數為0*/ - (void)awakeFromNib {//1:改變光標的顏色self.tintColor = [UIColor whiteColor];self.textColor = [UIColor whiteColor];//2:改變占位文字的默認顏色self.CQ_placeHolderColor = [UIColor lightGrayColor];}/***** @return <#return value description#>*/ - (BOOL)becomeFirstResponder {self.CQ_placeHolderColor = [UIColor whiteColor];return [super becomeFirstResponder]; }- (BOOL)resignFirstResponder {self.CQ_placeHolderColor = [UIColor lightGrayColor];return [super resignFirstResponder]; }/*** 1:可以改變Placeholder的顏色和字體大小,和內容2:在textField要顯示的時候調用 - (void)drawPlaceholderInRect:(CGRect)rect {[@"123" drawInRect:CGRectMake(5, 10, 40, self.CQ_Height - 20) withAttributes:@{NSFontAttributeName : Font(13),NSForegroundColorAttributeName : [UIColor whiteColor]}];}*//*** 1:此方法是改變占位文字的顏色:遍歷子控件,父類的指針指向子類,找到關聯的對象設置屬性 2:但是在xib中的awakeFromeNib中子控件數組為0,所以無法設置默認的placeholder的顏色- (void)layoutSubviews {[super layoutSubviews];for (UIView *view in self.subviews) {if (![view isKindOfClass:NSClassFromString(@"UITextFieldLabel")]) continue;UILabel *lable = (UILabel*)view;lable.textColor = [UIColor redColor];}}*//*** runtime:找到某個類的所有下劃線的成員變量,包括類私有的不公開的,利用kvc,valueforkeypath,將其定義的私有屬性取出,并修改其行為unsigned int count;//<#unsigned int *outCount#>:參數需要傳入一個指針Ivar *ivarList = class_copyIvarList([UITextField class], &count);for (int i = 0; i < count ; i++) {Ivar var = ivarList [i];CQLog(@"----------------------------%s", ivar_getName(var));}free(ivarList);*/@end

總結:1:自定義UITextField類與xib中的文本框相關聯,在xib中,關聯自定義的類UITextField,在自定義類UITextField實現awakfromNib:?1:awakfromNib:從xib中加載完成后會調用,可以在此方法中設置一些一次性代碼,類似于init方法來設置一次性代碼 2:注意的是當執行完此方法后,子控件的數組個數為0。在此方法內設置光標的顏色和文字顏色占位文字默認顏色:? self.tintColor = [UIColor whiteColor];? self.textColor = [UIColor whiteColor];self.CQ_placeHolderColor = [UIColor lightGrayColor];

? ? ? ? 2:監聽文本框的第一響應:就重寫系統的- (BOOL)becomeFirstResponder,調用時刻 : 成為第一響應者(開始編輯\彈出鍵盤\獲得焦點),重寫此方法不要忘記調用super,否則就不能響應父類的方法,不能響應鍵盤事件彈出鍵盤。先設置占位文字顏色

- (BOOL)becomeFirstResponder

{

? ? self.placeholderColor = [UIColor whiteColor];

? ? return [super becomeFirstResponder];

}

/**

?*? 調用時刻 : 不做第一響應者(結束編輯\退出鍵盤\失去焦點)

?*/

- (BOOL)resignFirstResponder

{

? ? self.placeholderColor = [UIColor grayColor];

? ? return [super resignFirstResponder];

}

3:找到設置textField占位文字顏色的屬性:1:自定義類繼承系統的UITextField,在layoutsubView方法里看看是否能直接拿到該屬性設置 (當在方法layoutsubView設置約束的時候,配合setNeedslayout,或是layoutifNeed來更新約束)2:若不能直接拿到該屬性,則可以遍歷子控件數組并打印,拿到所有的子控件,在遍歷方法中(for in index++,for int i,enum,先做條件過濾,return,continue,或是break,拿到屬性之后(父類的指針可以指向子類),去設置屬性,找到以后并停止遍歷。)找到對應的屬性后,設置屬性值。

- (void)layoutSubviews {

??[super layoutSubviews];

?for (UIView *view in self.subviews) {

??if (![view isKindOfClass:NSClassFromString(@"UITextFieldLabel")]) continue;

??UILabel *lable = (UILabel*)view;

?lable.textColor = [UIColor redColor];

?}

?}

?4:查找系統的API,子類或是父類中有沒有方法設置占位文字的顏色,可以搜索placeHolder,或是搜索placeHolderColor,來查看。在系統的方法中可以找到drawRect方法:

?1:可以改變Placeholder的顏色和字體大小,和內容

?2:在textField要顯示的時候調用:drawRect方法都是在控件即將顯示的時候被調用

- (void)drawPlacedholderInRect:(CGRect)rect {

??[@"123" drawInRect:CGRectMake(5, 10, 40, self.CQ_Height - 20) withAttributes:@{NSFontAttributeName : Font(13),NSForegroundColorAttributeName : [UIColor whiteColor]}];

?}

5:利用runtime挖掘系統的私有屬性:

runtime:?class_copyIvarList方法找到某個類的所有下劃線的成員變量,包括類私有的不公開的,利用kvc,valueforkeypath,將其定義的私有屬性取出,并修改其行為

?unsigned int count;

//unsigned int *outCount:unsigned為無符號整型,也就是都為正數,不為負數,?int *outCount參數:outCount是一個指針,也就是需要傳入一個內存地址,也就是&count。當該方法執行完畢后,系統會根據內存地址,找到該變量,為該變量賦值

//此時的ivarList相當于一個數組,遍歷ivarList,取出的元素是Ivar類型的元素,ivar_getName(var)獲取ivar元素的屬性名字

?Ivar *ivarList = class_copyIvarList([UITextField class], &count);

??for (int? i = 0; i < count ; i++) {

?Ivar var = ivarList [i];

?CQLog(@"----------------------------%s", ivar_getName(var));

?}

?free(ivarList);//釋放ivarList

6:自定義控件繼承系統控件:利用kvc替換掉系統控件:還可以用封裝繼承,新建類繼承系統的控件,layoutSubView中可以重新布局子控件,遍歷子控件數組,找到去設置再利用kvc替換掉系統的控件

?6:補充:

1:

如圖所示,當如圖所示的按鈕時,可以讓按鈕平分整個間距。類似于底部tabBar按鈕的結構,平分整個tabBar的寬度

當設置約束的時候,1:三個等寬登高,可以同時選中設置,equalWidth,和equalHeight? 2:當去清除約束的時候,注意需要清除的是當前的約束還是全部約束。1;在xib中如何設置三個等寬登高且平分屏幕寬度。1;先設置中間按鈕的頂部間距,和高度約束,2:后兩個按鈕通過拉線設置頂部對其,確定頂部約束,再同時選中三個,右下角同時設置三個按鈕登高,等寬,在設置第一個按鈕的最左邊按鈕左間距為0,最后一個按鈕的右間距為0,同時在設置兩兩間距為0,3:如圖:當是上下左右的時候點擊小箭頭,會有和子控件的約束。(此處可以設置子控件與父控件的間距約束,如圖所示,它所設置的約束,是距離該控件最近的控件)

?

2:又有圖片又有文字的,就用button,如網易新聞導航標題。上部為圖片下部為文字的,1:就自定義button,繼承UIButton,實現button的設置title,Image的改變frame的方法。2:就自定義button,繼承UIButton:在layoutsubView里可以直接拿到btn的iamge和lable去設置frame,若是不能直接拿到,則遍歷子控件數組(遍歷條件),打印,NSClassFromstring,取出 ,停止遍歷,若是遍歷找不到,runtime,class_copyIvarlist查找其所有屬性變量,利用kvc取出或是進行賦值? 3:利用btn的內邊距,先整體內容左對齊(繼承UIControl的方法),在調節contentEdge,titleEdge,imageEdge? 2:當控件從xib中加載完成后,就會調用awakefromNib,可以在此方法中進行一些控件的固定內容或是設置屬性等工作,此方法調用完畢后子控件數組個數依然為0。3:若想自定義xib中的按鈕,則新建類繼承UIButton,先在xib中關聯類,如圖:關聯類后可以在該類中實現awakefromNib就可以直接在該類中去設置xib中的button

3:1:設置控件的frame在layoutSubView里最為嚴禁,super 調用了layoutSubView,則父類已將子控件的的frame設置好,在設置frame寫在下面是覆蓋掉super的行為,重新定義frame。2:當每次要重新布局子控件時,就要想到用到layoutsubView,配合layoutifNeeded(立即調用layoutsubView刷新frame),setNeedslayout(異步調用layoutsubView)一起使用。3:如果是更改系統控件的frame,可以通過繼承,先繼承系統的控件,重寫layoutsubView,1:直接拿到系統控件公開的屬性去設置frame ?2:若是沒有公開的屬性去設置,要拿到想要更改的子控件,可以遍歷子控件的數組,條件過濾continue,找到,重新設置frame,并停止遍歷。3:若還是找不到可以在系統API中子類或是父類中搜索相關屬性去設置 4:利用runtime的方法class_copyIvarList去拿到系統類所有帶下劃線的成員變量,利用kvc可以為屬性或是帶下劃線的成員變量賦值,還可以valurForkey或是keyPath將值取出來。

4:事件傳遞響應簡單概述:

點擊view的空白處dissMiss掉之前的控制器,實現touchBegan方法,必須該控件要開啟用戶的交互權限,且只有點擊空白處才會消失,若是點擊的是其他的按鈕,則被點擊的按鈕會響應該事件,不會實現touchbegan方法。因為的傳遞:事件的傳遞是由父控件傳遞到子控件,在傳遞過程中先看該控件能否與用戶進行交互,不能則事件傳遞直接終止,若能則會看觸摸點是不是在該ew上,兩個底層方法:pointInside,hitTest(在父類中實現這兩個方法可以返回處理該事件的view和返回觸摸點是否在自身),就這樣一級一級傳遞直到找到最合適的view來響應事件。找到最合適的view后,再看看該view能否否處理響應事件,若不能處理則交會沿著響應者鏈向上傳遞給父控件去處理。

?

5:設置xib的約束:

xib設置約束的時候:1:拉線和右下角配合使用,右下角倒數第一個有清除所有約束,清除部分約束,更新frame(改變的時候就需要更新)倒數第二個,可設置上下左右間距,寬高,等寬登高,選擇第二個,再添加約束,小箭頭也可以點擊,表示距那個控件的上下左右。倒數第三個可設置距離父控件的中心點 2:一般封裝時,會有父控件view,先固定父控件view,再往里面添加子控件,當子控件約束確定后,再去除父控件的高度,也就是讓父控件的高度等于子控件的高度,前提是設置父控件中最后一個子控件底部bottom與父控件的底部bottom的約束必須設置,這樣就可以讓父控件的高度等于子控件的高度。最好可以給xib控件寫注釋 2:背景圖片的UIImageView到底設多大??就查看背景圖片為多少像素,UIIMgaeView就設置為多大,若背景圖片很小時,則可以給UIimage寫一個分類,來拉伸圖片的寬高中心點。3:當xib設置約束的時候,也可以來到最左邊,通過寫注釋的那個,選中A將A拖向B,彈出菜單,在設置約束,設置約束的時候還可以設置對其方式,左對齊,上不對齊,右部對齊。高度為父控件的一半,先設為與父控件登高,再來到右側的約束界面,雙擊登高約束,:A等于B乘以1+0,可以改變乘以的數為0.5,則設置好了約束。如圖:底部的textField直接拷貝控件,拷貝控件的時候,只拷貝了寬高,其他約束都沒有去設置 4:

在設置textField的時候:1:可以選擇textField的style樣式,clearBtn的樣式,鍵盤的樣式,keyBoard樣式。2:xib若想完整的顯示高亮狀態下button的圖片:按鈕樣式必須為設為custom .3:給button設置圓角效果需要拿到圖層:self.loginButton.layer.cornerRadius = 5;self.loginButton.layer.masksToBounds = YES; 或是代碼利用kvc實現:setValue forKeyPath :[self.loginButton setValue:@5 forKeyPath:@"layer.cor

erRadius"];[self.loginButton setValue:@YES forKeyPath:@"layer.masksToBounds”];第二個參數為[self.loginButton的屬性。還可以在xib中設置button的圓角效果:xib中也可以實現kvc,其中在xib中控制器view的xib也可以實現lvc賦值(kvc,setValue forKeyPath,就是賦值)

?

4:

當用xib設置frame約束的時候:左邊:1:可以更改各個控件的層級關系 ,拖動 2:可以設置注釋標題,方便以后查看 3:還以按住control選中一個控件實現拉線:可以設置其左對齊,右對齊,上對齊,下對齊和其他的約束 4:在中間就設置其center屬性

水平居中或是豎直居中。

?

6:點擊已有賬號,注冊和登陸界面的左右切換:

設置的點擊注冊按鈕,左右滑動。原以為是ScrollView,其實不是,是將另一個中間的view,copy了一份,更改了約束,設置在了屏幕的右端,對于左邊的constrant約束,也可以拖線到控制器,通過更改其constranit,再在UIView的動畫里強制立即刷新,來動畫改變其左右滑動。但是左邊約束刪除,右邊的與屏幕的約束刪除約束,得刪除,要不設置了右邊的約束,當滑動的時候,view的最右邊就會永遠粘著右邊。控制器代碼:1:退出鍵盤的方式,self.view endEditing 2:取消鍵盤的第一響應者。2:按鈕在不同的狀態下顯示不同的內容,那么久去設置按鈕的不同狀態下的屬性,直接改變按鈕的狀態就可以了。3:重復點擊按鈕有不同的反應,1:可以根據按鈕的狀態去區分不同的行為,btn.selected = !btn.isselected; 2:還可以根據不同狀態下的改變值,如獲取btn不同狀態下的標題,圖片,背景圖片,或是其他的變量,來區分按鈕的不同的狀態。3:self.leftMargin為一個模型,所以不能直接放在UIView的動畫里,(UIView動畫里設置frame,前提是得是frame具體值的改變,)可以在UIView動畫外面設置模型或是frame的改變,在UIVIEW動畫的內部,調用強制刷新的方法,用self.view去調用,則會刷新整個self.view的界面? [self.view layoutIfNeeded];調用此方法會立即執行刷新操作。刷新self.view里的所有子控件。

?7:富文本的簡單使用:

一:文字的富文本屬性:

?設置textField的占位文字的顏色:

// 設置占位文字內容

@property(nullable, nonatomic,copy) ? NSString ? ? ? ? ? ? ? *placeholder;

// 設置帶有屬性的占位文字, 優先級 > placeholder

@property(nullable, nonatomic,copy) ? NSAttributedString ? ? *attributedPlaceholder;

通過富文本屬性來設置textField占位文字的顏色:

1:## NSAttributedString

- 帶有屬性的字符串, 富文本

- 由2部分組成

? ? - 文字內容 : NSString *

? ? - 文字屬性 : NSDictionary *

? ? ? ? - 文字顏色 - NSForegroundColorAttributeName

? ? ? ? - 字體大小 - NSFontAttributeName

? ? ? ? - 下劃線 - NSUnderlineStyleAttributeName

? ? ? ? - 背景色 - NSBackgroundColorAttributeName

- 初始化

?

```objc

NSMutableDictionary *attributes = [NSMutableDictionary dictionary];

attributes[NSForegroundColorAttributeName] = [UIColor yellowColor];

attributes[NSBackgroundColorAttributeName] = [UIColor redColor];

attributes[NSUnderlineStyleAttributeName] = @YES;

NSAttributedString *string = [[NSAttributedString alloc] initWithString:@"123" attributes:attributes];

```

- 使用場合

? ? - UILabel - attributedText

? ? - UITextField - attributedPlaceholder

? ? - textView-attributedText

?

2:## NSMutableAttributedString

- 繼承自NSAttributedString

- 常見方法

?

```objc

// 用set設置range范圍的屬性, 重復設置同一個范圍的屬性, 最后一次設置才是有效的(之前的設置會被覆蓋掉),而add是添加不覆蓋,set是設置會覆蓋

- (void)setAttributes:(nullable NSDictionary<NSString *, id> *)attrs range:(NSRange)range;

// 添加range范圍的屬性, 同一個范圍, 可以不斷累加屬性

- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;

- (void)addAttributes:(NSDictionary<NSString *, id> *)attrs range:(NSRange)range;

```

6:一般涉及到顯示文字的地方都可以使用富文本:例如新浪的發微博界面,titleView上下都有文字顯示,1:可以封裝一個大view,里面放兩個lable,2:也可以使用富文本,其中設置lable的換行可用\n(\n也算lable的字符串的一個字符),而且lable要是顯示多行必須設置numberoflines = 0,設置的titleView:

? UILabel *label = [[UILabel alloc] init];

? // 設置屬性文字

? NSString *text = @"你好\n哈哈哈";

? NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:text];

? [attributedText addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:10] range:NSMakeRange(0, text.length)];

? [attributedText addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:13] range:NSMakeRange(3, 3)];//\n也算是一個字符,所以從第三個字符開始

? label.attributedText = attributedText;

? // 其他設置

? label.numberOfLines = 0;

? label.textAlignment = NSTextAlignmentCenter;

? label.frame = CGRectMake(0, 0, 100, 40);

? [self.view addSubview:label];

? self.navigationItem.titleView = label;

?

二:圖文混排

圖文混排:圖片和文字混排:先定義一個大的可變的富文本對象,把整體內容切分成若干個小的富文本,分別設置好小富文本屬性后,拼接到大富文本的后面

?? UILabel *label = [[UILabel alloc] init];

?? label.frame = CGRectMake(100, 100, 200, 25);

?? label.backgroundColor = [UIColor redColor];

?? label.font = [UIFont systemFontOfSize:14];

?? [self.view addSubview:label];

?? // 圖文混排:大富文本對象

?? NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] init];

?? // 1 - 你好:設置小富文本對象并拼接到大富文本對象后面

?? NSAttributedString *first = [[NSAttributedString alloc] initWithString:@"你好"];

?? [attributedText appendAttributedString:first];

?? // 2 - 圖片

?? // 帶有圖片的附件對象

?? NSTextAttachment *attachment = [[NSTextAttachment alloc] init];

?? attachment.image = [UIImage imageNamed:@"header_cry_icon"];

?? CGFloat lineH = label.font.lineHeight;//取出富文本中的字體高度

?? attachment.bounds = CGRectMake(0, - ((label.xmg_height - lineH) * 0.5 ), lineH, lineH);

?? // 將附件對象包裝成一個屬性文字

?? NSAttributedString *second = [NSAttributedString attributedStringWithAttachment:attachment];

?? [attributedText appendAttributedString:second];

?? // 3 - 哈哈哈

?? NSAttributedString *third = [[NSAttributedString alloc] initWithString:@"哈哈哈"];

?? [attributedText appendAttributedString:third];

?? label.attributedText = attributedText;

其中:1:求label的字體高度: CGFloat lineH = label.font.lineHeight; 是為了讓label的字體高度等于圖片的高度。bonds可調整富文本中圖片的frame,寬高為字體的寬高 2:調用系統的方法賦值,若是想在別處獲得該值,則可調用系統的get方法獲得所賦的值。3:富文本:有兩部分組成:text和屬性字典dic,分為可變和不可變,可變,則可以拼接其他富文本appendAtrtibuteString,設置富文本的內容,addAtrtibute,setAtribute,還可以根據范圍去做設置

?8:畫圖修改textfield的占位文字顏色:可以重寫drawRect 或是drawPoint 兩個方法:1:返回的rect值為textField的矩形框 2:self.font 調用的就是textField中設置font的get方法 3:self.font.lineHeight 字體高度 3:range ,rect的結構體的寫法,先定義一個rect,再賦值屬性

- (void)drawPlaceholderInRect:(CGRect)rect {

? // 文字屬性

? ? NSMutableDictionary *attrs = [NSMutableDictionary dictionary];

? ? attrs[NSForegroundColorAttributeName] = [UIColor whiteColor];

? ? attrs[NSFontAttributeName] = self.font;

?// drawInRect畫出占位文字

//? ? CGRect placeholderRect;

//? ? placeholderRect.size.width = rect.size.width;

//? ? placeholderRect.size.height = self.font.lineHeight;

//? ? placeholderRect.origin.x = 0;

//? ? placeholderRect.origin.y = (rect.size.height - self.font.lineHeight) * 0.5;

//? ? [self.placeholder drawInRect:placeholderRect withAttributes:attrs];

?? ?

? //?drawAtPoint畫出占位文字?

? ? CGPoint placeholderPoint = CGPointMake(0, (rect.size.height - self.font.lineHeight) * 0.5);

? ? [self.placeholder drawAtPoint:placeholderPoint withAttributes:attrs];

}

修改textField的占位文字顏色:

1:使用attributedPlaceholder? 2:- (void)drawPlaceholderInRect:(CGRect)rect;,- (void)drawPlaceholderInRect:(CGRect)rect;? 3:運行時查找系統類的私有變量:[textField setValue:[UIColor grayColor] forKeyPath:@"placeholderLabel.textColor"];

?9:scrollView的xib或是storyboard自動布局:

scrollView的自動布局(xib或是storyBoard,純xib):1:先增加一個子控件view到xib中(以后scroll

View的子控件都添加到該view中)2:設置view的約束,上下左右都為0,在設置此時該view的高度,此時該view的高度就為scrollView的contentSize 3:在設置控件的豎直滾動,就設置水平居中,水平滾動,就豎直居中 4:在設置xib時,設置父控件的高度等于內部子控件的高度,首先先添加父控件,設置好父控件的約束,在設置子控件的約束,最后來到最左邊,刪掉父控件的高度約束,再在左邊拖線,設置父控件最后一個控件的bottom和父控件的bottom的約束。4:若想設置scrolView上下左右都可以滾動,則添加一個子控件到scrollView,也是scroll唯一的子控件,設置該view上下左右的間距為0,設置寬高,不去設置水平豎直居中就可以了

#:## 在storyboard\xib中給UIScrollView子控件添加約束

- 給添加一個UIView類型的子控件A(這將是UIScrollView唯一的一個子控件)

- 設置A距離UIScrollView上下左右間距都為0

- 往A中再添加其他子控件

?

![](../Images/Snip20151109_228.png)

- 上下滾動(垂直滾動)

? ? - 設置A的高度(這個高度就是UIScrollView的內容高度: contentSize.height)

?

? ? ![](../Images/Snip20151109_202.png)

? ? - 設置A在UIScrollView中左右居中(水平居中)

?

? ? ![](../Images/Snip20151109_203.png)

- 左右滾動(水平滾動)

? ? - 設置A的寬度(這個寬度就是UIScrollView的內容寬度: contentSize.width)

?

? ? ![](../Images/Snip20151109_231.png)

? ? - 設置A在UIScrollView中上下居中(垂直居中)

?

? ? ![](../Images/Snip20151109_230.png)

- 上下左右滾動(水平垂直滾動)

? ? - 設置A的寬度(這個寬度就是UIScrollView的內容寬度: contentSize.width)

? ? - 設置A的高度(這個高度就是UIScrollView的內容高度: contentSize.height)

?

? ? ![](../Images/Snip20151109_232.png)

? ? ![](../Images/Snip20151109_229.png)

?10:實現對系統控件的監聽:查看系統控件的API中或是父類的API中,1:代理 2:繼承UIControl 的addTarget 3:系統通知? 4:kvo,主要是監聽的是屬性的改變 5:利用系統內部的某些機制,重寫系統的方法也可以實現監聽系統的行為

?11:assign 和 weak的區別:

1:報錯EXC_BAD_Access 野指針錯誤,就是說訪問了一個內存不存在,已經銷毀了的對象,會報此錯誤? 2:assin 和weak的區別:1:assin用于修飾基本數據類型 ? strong和weak用來修飾對象,2:兩者的本質區別:

@property (nonatomic, assign) XMGDog *dog;? // XMGDog *__unsafe_unretained _dog;

__unsafe_unretained的特點:

1.不是強引用, 不能保住OC對象的命

2.如果引用的OC對象銷毀了, 指針并不會被自動清空, 依然指向銷毀的對象(很容易產生野指針錯誤: EXC_BAD_ACCESS)__weak的特點:

@property (nonatomic, weak) XMGDog *dog;? // XMGDog * _Nullable __weak _dog;

1.不是強引用, 不能保住OC對象的命

2.如果引用的OC對象銷毀了, 指針會被自動清空(變為nil), 不再指向銷毀的對象(永遠不會產生野指針錯誤)

```

- 用途

? ? - assign一般用在基本數據類型上面, 比如int\double等

? ? - weak一般用在代理對象上面, 或者用來解決循環強引用的問題

- 本質區別

? ? - 速度比較: __unsafe_unretained > __weak

12:## 監聽UITextField的獲得焦點和失去焦點事件:

1:繼承UIControl的addTarget:(自己也可以監聽自己,addTarget)

[textField addTarget:target action:@selector(editingDidBegin) forControlEvents:UIControlEventEditingDidBegin];

[textField addTarget:target action:@selector(editingDidEnd) forControlEvents:UIControlEventEditingDidEnd];

UIControlEventEditingDidBegin

1.開始編輯

2.獲得焦點

3.彈出鍵盤

?

UIControlEventEditingDidEnd

1.結束編輯

2.失去焦點

3.退下鍵盤

```

?

UIControlEventEditingDidChange

文字發生改變的時候

?

2:系統控件的代理:(自己成為自己的代理,監聽自己的行為,不建議自己成為自己的代理,因為如果在外部也設置了代理,則有可能內部自己監聽自己的代理就被外部覆蓋掉了,而addTarget則可以去添加多個監聽器。add可以無限添加,而set的set方法,只能設置一個)

- delegate

?

```objc

textField.delegate = self;

?

#pragma mark - <UITextFieldDelegate>

- (void)textFieldDidBeginEditing:(UITextField *)textField

{

?

}

?

- (void)textFieldDidEndEditing:(UITextField *)textField

{

?

}

```

3:系統的通知:

[textField addTarget:self action:@selector(test) forControlEvents:UIControlEventEditingDidBegin | UIControlEventEditingChanged];

```

- 通知:注冊觀察者,實現通知方法,dealloc中移除觀察者;其中addObserver:注冊觀察這時,object參數為誰發出的通知,一般傳nil,表示只要接收到發出的這個通知就會調用此方法,不管是誰發出的通知。若不是傳的nil,則只有后面發出的通知才會調用通知的方法

?```objc

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(beginEditing) name:UITextFieldTextDidBeginEditingNotification object:textField];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(endEditing) name:UITextFieldTextDidEndEditingNotification object:textField];

?

- (void)dealloc

{

? ? [[NSNotificationCenter defaultCenter] removeObserver:self];

}

?

- (void)beginEditing

{

?

}

?

- (void)endEditing

{

?

}

```

?

使用block監聽通知:

?## 通知相關的補充

### 使用block監聽通知

1:@property(nonatomic,strong) id? observer;//必須先強引用通知

?

?2:返回值為觀察者,// object對象發出了名字為name的通知, 就在queue隊列中執行block

self.observer = [[NSNotificationCenter defaultCenter] addObserverForName:UITextFieldTextDidBeginEditingNotification object:self queue:[[NSOperationQueue alloc] init] usingBlock:^(NSNotification * _Nonnull note) {

? ? // 一旦監聽到通知, 就會執行這個block中的代碼

}];

?

//3:最后在dealloc中移除監聽

[[NSNotificationCenter defaultCenter] removeObserver:self.observer];

```

### 其他

```objc

dispatch_async(dispatch_get_global_queue(0, 0), ^{

? ? // 因為是在子線程注冊了通知監聽器, 所以beginEditing和endEditing會在子線程中執行

? ? [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(beginEditing) name:UITextFieldTextDidBeginEditingNotification object:self];

? ? [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(endEditing) name:UITextFieldTextDidEndEditingNotification object:self];

});

?### 一次性通知(監聽1次后就不再監聽)

```objc

id observer = [[NSNotificationCenter defaultCenter] addObserverForName:UITextFieldTextDidBeginEditingNotification object:self queue:[[NSOperationQueue alloc] init] usingBlock:^(NSNotification * _Nonnull note) {

? // 移除通知

?[[NSNotificationCenter defaultCenter] removeObserver:observer];

}];

當對象的類型不能確定的時候,就用id去修飾此對象

利用系統內部的某些機制重寫系統的方法實現監聽:可以重寫系統的方法(不要忘記調用super的方法),來實現監聽,系統的點語法就包括了set方法和get方法,set方法賦值結束后,可以重新調用get方法來獲得該值,也可以重寫系統的某些方法,點語法的set方法,get方法,或是直接去調用的方法。重寫setfont 實現字體的設置,self.font獲得字體,重寫becomeFirstResponder等實現textfield的開始編輯光標聚焦,鍵盤彈出的監聽

?- 重寫UITextField的`becomeFirstResponder`和`resignFirstResponder`方法

```objc

/**

?*? 調用時刻 : 成為第一響應者(開始編輯\彈出鍵盤\獲得焦點)

?*/

- (BOOL)becomeFirstResponder

{

? ? return [super becomeFirstResponder];

}

?

/**

?*? 調用時刻 : 不做第一響應者(結束編輯\退出鍵盤\失去焦點)

?*/

- (BOOL)resignFirstResponder

{

? ? return [super resignFirstResponder];

}

```

?















轉載于:https://www.cnblogs.com/cqb-learner/p/5891071.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的百思不得姐第4天:文本框占位文字颜色的全部內容,希望文章能夠幫你解決所遇到的問題。

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

日本少妇视频 | 欧美性大胆 | 国产精品1024 | 久在线观看 | 亚洲涩综合 | 国产九九九精品视频 | 国产福利在线免费观看 | 91九色在线观看 | 18岁免费看片 | 黄色一级在线视频 | 久久激情精品 | 97超级碰碰碰碰久久久久 | 丁香婷婷激情 | 亚洲国产丝袜在线观看 | 精品久久中文 | 91在线视频 | 中文字幕一区二 | 欧美成亚洲 | 国产精品精品久久久久久 | 1024手机在线看 | 亚洲综合狠狠干 | 欧美久久久久久 | 九月婷婷人人澡人人添人人爽 | 色网影音先锋 | 久久精品一区二区三 | 久久国产综合视频 | 97理论片| 97人人模人人爽人人少妇 | 婷婷色综合色 | 婷婷色av | 99国产一区 | 美女国产 | 国产操在线 | 视频99爱 | 日韩精品视频免费专区在线播放 | 亚州精品国产 | 玖玖视频 | 91精品色| av电影免费在线播放 | 91看片在线观看 | 五月黄色 | 欧产日产国产69 | 国产热re99久久6国产精品 | 色婷婷久久久综合中文字幕 | 中文字幕一区二区三区久久 | 伊人天堂网 | 在线黄网站 | 久久久久国产免费免费 | 久久综合色婷婷 | 鲁一鲁影院 | 亚洲一级黄色大片 | 女人18片| 国产精品久久久久久一二三四五 | 久久精品超碰 | www久久国产 | 国产精品精品国产 | 国产自在线观看 | 久久久久国产精品www | 免费av试看 | 日韩欧美一区二区在线观看 | 国产三级精品在线 | 91看片在线 | 黄色一区三区 | 欧美贵妇性狂欢 | av观看久久久 | 特级黄录像视频 | 国内精品久久久久影院男同志 | 人人草天天草 | 亚洲综合网站在线观看 | 在线中文字幕观看 | 97视频资源 | 国产亚洲成人网 | 日韩欧美在线一区二区 | 日批视频| 日韩精品在线观看视频 | 久久午夜国产精品 | 高清精品久久 | 美女国产免费 | 免费观看性生活大片3 | 亚洲日韩中文字幕在线播放 | 精品国产欧美 | 中文字字幕在线 | 久久天天躁狠狠躁夜夜不卡公司 | 91漂亮少妇露脸在线播放 | 四虎影视成人永久免费观看视频 | 免费久久久 | 一区二区欧美日韩 | 午夜少妇一区二区三区 | 超碰精品在线 | 午夜精品一区二区三区免费 | 午夜av大片 | 久久这里只有精品视频首页 | 久草剧场| av中文字幕亚洲 | 黄色影院在线免费观看 | 四虎在线免费观看 | 日韩av片免费在线观看 | 国色天香第二季 | 国产在线不卡视频 | 久久久久久高清 | 免费中文字幕 | 在线观看的a站 | 三级性生活视频 | 国产不卡毛片 | 中文字幕国产 | 国产精品久久av | 人人爽人人爽av | 精品国产成人 | 91资源在线播放 | 精品国产乱码久久久久久1区2匹 | 日韩二区三区在线 | 91传媒激情理伦片 | 91在线精品秘密一区二区 | 在线视频一二区 | 日韩在线免费观看视频 | 国产乱码精品一区二区蜜臀 | 7777精品伊人久久久大香线蕉 | 一二区电影 | 91视频电影 | 国产香蕉久久 | 蜜桃av观看 | 免费看污污视频的网站 | 精品av在线播放 | 中文字幕精品一区二区精品 | 天天操综合| 久久人人爽人人爽人人片av免费 | 成人免费视频播放 | 国产成人在线一区 | 久久在线一区 | 久久久激情网 | 中文字幕在线播放一区 | 玖玖在线播放 | 久久久久国产精品免费 | 91大片网站| 黄色资源在线观看 | 亚洲精品视频免费在线 | 日本在线成人 | 久久精品人人做人人综合老师 | 国产亚洲成av片在线观看 | av在线播放网址 | 国产99久久精品一区二区300 | 婷婷激情久久 | 国产免费亚洲高清 | 香蕉色综合 | 亚洲精品视频偷拍 | 久久国产免 | 亚洲码国产日韩欧美高潮在线播放 | 婷婷五天天在线视频 | 免费黄色在线 | 日韩专区中文字幕 | 日本成人黄色片 | 色妞色视频一区二区三区四区 | 日韩欧美视频在线免费观看 | 成人一级片在线观看 | 不卡电影免费在线播放一区 | 国产高清在线免费观看 | 久久免费国产精品 | 国产精品成人免费一区久久羞羞 | 日本在线观看一区二区 | 精品五月天 | 国产999免费视频 | 1区2区视频| 亚洲精品动漫成人3d无尽在线 | 久久久久在线视频 | 国产极品尤物在线 | 一区二区三区福利 | 精品国产欧美一区二区三区不卡 | 欧美日韩不卡在线观看 | av片免费播放 | 亚洲资源在线网 | 亚洲精品综合一二三区在线观看 | 久久久久久久av | 亚洲电影院| 国产一级片免费观看 | 国产玖玖在线 | 色多多污污在线观看 | 黄色午夜网站 | 99热精品国产 | 成人免费看片98欧美 | 亚洲国产一区二区精品专区 | 亚洲天堂va | 999成人网 | 亚洲精品成人av在线 | 在线观看精品一区 | 国产中文字幕视频在线 | 国内揄拍国内精品 | www在线免费观看 | 亚洲韩国一区二区三区 | 国产一区二区在线观看视频 | 久久久国产精品一区二区中文 | 香蕉久久久久久av成人 | 日韩专区 在线 | 毛片永久新网址首页 | 欧美日韩不卡一区二区三区 | 香蕉免费在线 | 久久九九久久 | www最近高清中文国语在线观看 | av高清免费在线 | 成人h在线 | 成人在线免费观看视视频 | 狠狠色狠狠综合久久 | 日日爽视频| 国产精品综合久久久久 | 午夜精品一区二区三区视频免费看 | 日日草av | 91精品视频在线看 | 国内小视频 | 91av视频在线播放 | 日韩在线字幕 | 久久久久免费精品国产 | 亚洲欧美一区二区三区孕妇写真 | 国产精品第一视频 | 午夜天天操| adn—256中文在线观看 | 天天色婷婷 | 天天天天天操 | 欧美激情精品久久久久久免费印度 | 绯色av一区 | 婷婷丁香av| 久久精品视频在线观看 | 国产精品久久久久永久免费观看 | 国产一区视频导航 | 国产一级淫片在线观看 | 国产精选在线 | 在线日韩亚洲 | av免费播放 | 亚洲欧美国产精品久久久久 | 色吊丝在线永久观看最新版本 | av网站有哪些 | 成人av资源在线 | 国产资源网站 | 亚洲日b视频 | 日韩在线欧美在线 | 日韩三级一区 | 麻豆传媒视频在线 | 国产免费看 | 综合亚洲视频 | 五月婷婷激情网 | 亚洲三级在线播放 | 国模一二三区 | 日韩av片在线 | 人人精品久久 | 国产视频在 | 免费的黄色的网站 | av大全在线 | www色网站 | 欧美日韩免费观看一区=区三区 | 国产中文在线字幕 | 午夜影院一级片 | 久久爱导航| 天天色官网 | 国产在线超碰 | 久久久999 | 日韩三级中文字幕 | 欧美在一区 | 在线观看av国产 | 99热这里只有精品免费 | 亚洲丁香日韩 | 99精品国产高清在线观看 | 黄色激情网址 | 欧美日韩国内在线 | 久久综合狠狠综合久久综合88 | 国产精品高清一区二区三区 | 成人丁香花| 香蕉在线观看 | 久久免费福利视频 | 久久综合久久久 | 国产xxxx性hd极品 | 中文字幕在线播放一区 | 久久久毛片 | 91精品久久香蕉国产线看观看 | av在线播放快速免费阴 | 综合国产在线观看 | 在线观看日本韩国电影 | 美女视频黄网站 | 66av99精品福利视频在线 | 深夜免费福利 | 国产主播大尺度精品福利免费 | 欧美亚洲精品在线观看 | 色干综合 | 天天操天天射天天插 | av官网 | 三级黄色三级 | 在线а√天堂中文官网 | 亚洲 欧美 91 | 99国产免费网址 | 国产私拍在线 | 波多野结衣理论片 | 亚洲国产精品久久久 | 日韩免费一级a毛片在线播放一级 | 国产区第一页 | 婷婷亚洲五月色综合 | 在线亚洲小视频 | 超碰av在线| 黄色av网站在线免费观看 | 国产青春久久久国产毛片 | 精品在线一区二区三区 | 日韩成人不卡 | av高清在线观看 | 九色视频网 | 久99精品 | 国产高清成人 | 天天干夜夜想 | 国产99久久久精品视频 | 亚洲色图22p | 黄色免费网 | 久久国产视频网 | 久久久久久久99 | 一区精品在线 | 成年人在线免费视频观看 | 国产精品免费一区二区三区 | 亚洲激情网站免费观看 | 三级小视频在线观看 | 日韩av看片| 99在线精品观看 | 日韩1页| 午夜美女视频 | 久久 在线 | 久久成人免费视频 | 久草在线视频在线 | 国产一区二区在线免费播放 | 久久久亚洲电影 | 久久精品人| 国产香蕉av | 色偷偷88欧美精品久久久 | 又色又爽又黄高潮的免费视频 | 超碰人人av| 园产精品久久久久久久7电影 | 激情深爱.com| 国产一级视频在线观看 | 欧美成人在线网站 | 国产视频每日更新 | 亚洲婷婷在线 | 国产精品久久久久久婷婷天堂 | 色小说在线| 四虎国产精品成人免费影视 | 午夜久久 | 在线视频1卡二卡三卡 | 夜夜躁日日躁狠狠躁 | 一二三区av| 亚洲乱码在线观看 | 超碰在线cao | 深夜免费小视频 | 久久a国产 | 欧美在线久久 | 欧美精品v国产精品v日韩精品 | 日韩一区二区免费播放 | 91免费高清在线观看 | 欧美日韩三级在线观看 | 99性视频| 在线观看日韩免费视频 | 九九免费在线观看 | 香蕉免费| 91精品视频导航 | 啪啪午夜免费 | 99在线播放 | 中文字幕国产精品一区二区 | 亚洲va欧美va人人爽春色影视 | 日韩免费成人 | 欧美性久久久 | 国产精品综合久久久久 | 天操夜夜操 | 亚洲国产精品99久久久久久久久 | 97香蕉久久超级碰碰高清版 | 在线 影视 一区 | 久久视频这里有精品 | 欧美性生活一级片 | 国产精品v a免费视频 | 亚洲五月婷 | 精品久久久久久电影 | 免费在线国产 | 日本午夜在线观看 | 日韩高清不卡一区二区三区 | 国产精品久久久久aaaa | 青草草在线 | 99免费在线 | 精品国产成人av | 久草视频视频在线播放 | 国产精品淫| 中文字幕久久精品 | 日韩av区 | 久久一级电影 | www.com在线观看 | 国产成人精品午夜在线播放 | a视频在线观看免费 | 久久国产麻豆 | 精品视频免费久久久看 | 一区二区影院 | 在线网站黄 | 精品91视频 | 最新99热| 久久亚洲私人国产精品va | 999男人的天堂 | 日韩一区二区三区在线观看 | 免费在线观看av | 欧美精品久久久久久久久久久 | 免费av网站观看 | 日韩特级毛片 | 91av九色| 中文字幕在线播放第一页 | 亚洲欧美va | 在线国产黄色 | 中文在线字幕免 | 狠狠狠色丁香综合久久天下网 | 天天干天天插 | 丝袜少妇在线 | 亚色视频在线观看 | 亚洲人成人天堂h久久 | 国产999精品久久久影片官网 | www.亚洲黄 | 亚洲成人在线免费 | 亚洲区二区 | 亚洲欧美日韩一区二区三区在线观看 | 精品国产电影一区 | 中文字幕黄色网 | 国产一区欧美一区 | 月下香电影 | 国产精久久久久久久 | 日韩黄色免费在线观看 | 国外成人在线视频网站 | 98超碰人人 | 午夜免费久久看 | 成人在线播放网站 | 99久久精品久久久久久动态片 | 中文字幕在线免费看 | 久久免费看毛片 | 一区二区三区四区不卡 | 欧美在线99| 麻豆一级视频 | 美女黄濒 | 国内精品久久天天躁人人爽 | 日日夜夜精品免费观看 | 日韩久久久 | 久久久久国| 日韩在线视频看看 | 奇米影视777影音先锋 | 国产精品原创 | 午夜123| 成年人免费在线观看网站 | 久操视频在线免费看 | 日韩系列 | 伊人伊成久久人综合网站 | 亚洲精品成人 | av色图天堂网 | 国产一二区视频 | 伊人狠狠色丁香婷婷综合 | 久久看片 | 在线影院 国内精品 | 国产在线小视频 | 亚洲精品9 | 国产精品久久久久久久久久久久 | 麻豆成人精品 | 97视频在线看 | 久久一区二区免费视频 | av片中文 | 91视频 - 88av | 欧美一级免费 | 久久精品国产免费看久久精品 | 久久久福利| 免费av成人在线 | 国产精品久久中文字幕 | 亚洲精品99| 欧美性直播 | 久久小视频| 国产精品av免费在线观看 | 最新中文在线视频 | 久久理伦片 | 91精品国产91久久久久 | 精品免费视频123区 午夜久久成人 | 精品视频亚洲 | 视频91 | 免费中文字幕视频 | 久久在线播放 | 久草在线视频首页 | 午夜精品一区二区三区在线视频 | 一本一道久久a久久精品 | 中文字幕av网站 | 香蕉视频91| avcom在线| 日韩在线中文字幕视频 | 天天操天天干天天玩 | 久久久久久久网站 | 国产色区 | 在线观看免费视频 | 亚洲欧洲精品一区二区 | 午夜久久久影院 | 成人久久久久 | 日韩网站视频 | 毛片播放网站 | 国产在线播放一区 | 日韩av高潮 | 最近中文字幕完整高清 | 国产综合小视频 | 在线黄色免费 | 9999在线观看 | 亚洲精品资源在线 | 一区二区激情 | 91亚洲永久精品 | 中文字幕在线观看完整版 | 免费在线观看污 | 欧美视频不卡 | 四虎在线视频 | 四虎在线视频 | 欧美精品色 | 一区二区三区久久 | 欧美亚洲三级 | 婷婷午夜天 | 免费福利片2019潦草影视午夜 | 国产精品黄网站在线观看 | 涩涩伊人 | 色综合久久久久久久 | 在线观看小视频 | 亚洲精品视频在线 | 在线观看视频三级 | 在线观看免费黄色 | 欧美色综合天天久久综合精品 | 91大神免费视频 | 成人av免费看 | 久久精品视频一 | 亚洲视频每日更新 | 国产一级免费播放 | 视频二区在线 | 2023国产精品自产拍在线观看 | 成人动图| 久久这里只有精品9 | 国产日韩欧美自拍 | 美国人与动物xxxx | 天天操夜夜操国产精品 | 亚洲一区二区高潮无套美女 | av夜夜操 | 高清久久久| 精品久久久999 | 欧洲精品亚洲精品 | 久久久免费看片 | 96久久欧美麻豆网站 | 亚洲综合在线播放 | 奇米四色影狠狠爱7777 | 国产免费xvideos视频入口 | 手机在线看片日韩 | 欧美一区二区三区在线视频观看 | 久久久免费精品国产一区二区 | 日韩精品在线免费观看 | 在线天堂v | 日韩艹 | 懂色av懂色av粉嫩av分享吧 | 欧美另类视频 | 欧美一级久久 | 中文字幕在线乱 | 日韩黄色在线电影 | 伊人资源视频在线 | www黄免费 | av一级片在线观看 | 国产91精品看黄网站在线观看动漫 | 日韩av一区二区三区四区 | 九九热精品视频在线观看 | 久久亚洲私人国产精品va | 韩国精品一区二区三区六区色诱 | a成人v在线 | 国产第一页在线观看 | 欧美久久影院 | 国产精品永久在线观看 | 99色网站| 五月激情五月激情 | 黄色不卡av | 久草影视在线 | 成人影视片 | 国产不卡视频在线播放 | 最近中文字幕高清字幕在线视频 | 精品一区91 | 欧美日韩视频在线 | 国产又粗又猛又色又黄视频 | 特级大胆西西4444www | 天躁狠狠躁| 中文字幕在线观看第一区 | 人人射网站| 色偷偷97 | 国产日韩精品一区二区三区在线 | 婷婷丁香狠狠爱 | 日韩一区精品 | 国产精品久久久久亚洲影视 | 五月综合激情婷婷 | 视频成人永久免费视频 | 99久久综合国产精品二区 | 黄色小网站免费看 | 五月婷婷六月丁香激情 | 一级黄毛片 | 91久久精品一区二区二区 | 成人黄色免费观看 | 国产在线第三页 | 日韩乱色精品一区二区 | 中文字幕在线观看的网站 | 亚洲一二视频 | 午夜电影一区 | 欧亚日韩精品一区二区在线 | 国产麻豆果冻传媒在线观看 | 国产精品资源在线观看 | 国产在线不卡视频 | 中文字幕一区二 | 日韩中文字幕亚洲一区二区va在线 | 69av视频在线观看 | 国产高清成人在线 | 久久久一本精品99久久精品66 | 99r在线精品 | 欧美一级性生活视频 | 热精品| 国产欧美综合视频 | 日韩午夜精品 | 国产成人三级在线播放 | 日日日日日| 91超碰在线播放 | 成人在线视频观看 | 国产精品免费久久 | 成人免费在线观看入口 | 午夜精品久久久久久久99 | 国产欧美日韩精品一区二区免费 | 色网av| 国产高清不卡在线 | 欧美日韩一区二区在线 | 国产精品欧美久久久久无广告 | 精品久久国产精品 | 久久中文精品视频 | 国精产品满18岁在线 | 99久久精品无码一区二区毛片 | 亚洲精品一区二区三区新线路 | 久久精品一区八戒影视 | www.伊人色.com| 国产精品资源在线 | 在线视频区 | 久久国内视频 | 日韩在线一二三区 | 久久人人做| 天天干天天干天天射 | 少妇性aaaaaaaaa视频 | 天天爽夜夜爽人人爽一区二区 | 精品国产一区二区三区四区vr | 欧美日韩在线精品 | 激情婷婷亚洲 | 亚洲夜夜网| 亚洲国内精品在线 | 国产精品一区二区久久精品爱涩 | 日韩av电影免费观看 | 欧美精品第一 | 婷婷中文字幕综合 | 国产黄色免费 | 十八岁以下禁止观看的1000个网站 | 欧美日韩视频在线 | 999国产在线| 99精品国产aⅴ | 香蕉视频在线观看免费 | 97视频网址 | 久草久草在线 | 一级成人网 | 久久视频一区二区 | 亚洲国产中文字幕 | 黄色三几片 | 97视频在线观看播放 | 在线视频一二区 | 久久免费视频在线观看6 | av免费网站 | 在线观看视频色 | 国产最新精品视频 | 久久影视网 | 日韩av一区二区三区在线观看 | 久草视频免费 | 亚洲一区二区三区毛片 | 亚洲 中文 欧美 日韩vr 在线 | 国产99久久久精品 | 中文字幕高清在线 | 久久久久久久久久网站 | 97成人资源站 | 欧美成年网站 | 97国产情侣爱久久免费观看 | 日本色小说视频 | 伊人热 | 97成人在线免费视频 | 中文av一区二区 | 黄色一级动作片 | 三级黄色免费片 | 美女免费黄网站 | 久久国产精品小视频 | 中文字幕亚洲欧美日韩 | 五月婷婷中文字幕 | 中文字幕网址 | 在线精品视频免费观看 | 九九热精品在线 | 久草在线视频网站 | 欧美一区二区三区在线播放 | 婷婷色网 | 81精品国产乱码久久久久久 | 久久综合干 | 国产中文字幕视频在线观看 | 亚洲成人资源在线观看 | 国产乱对白刺激视频在线观看女王 | а天堂中文最新一区二区三区 | 久久精品79国产精品 | 99九九99九九九视频精品 | 日本不卡一区二区三区在线观看 | 黄色中文字幕 | av一区二区三区在线播放 | 久久在线看 | 久久久影院官网 | 激情欧美一区二区三区免费看 | 天天干天天上 | 日韩电影精品 | 一区二区三区电影在线播 | 天天在线操 | 免费视频区| 久久国产成人午夜av影院潦草 | 国产在线a免费观看 | 欧美成年黄网站色视频 | 99热国产在线观看 | 美女国内精品自产拍在线播放 | 日韩高清精品免费观看 | 人人艹人人 | 欧洲精品码一区二区三区免费看 | 在线精品观看 | 看污网站 | 午夜精品视频一区二区三区在线看 | 日韩成人精品 | 国产麻豆精品久久 | 精品一区二三区 | 日韩欧美69 | 不卡国产视频 | 黄色三级视频片 | 九九精品久久久 | 四虎永久免费 | 国产精品久久久视频 | 在线观看完整版免费 | 婷婷精品在线视频 | 精品国产人成亚洲区 | 国产精品手机看片 | 国产视频一 | 久久亚洲在线 | 久久精品一区二区三 | 国产成人精品网站 | 天天操天天透 | 久久9999久久免费精品国产 | 天天色欧美 | 国产日产精品一区二区三区四区的观看方式 | 91精品视频免费 | 国产一级一片免费播放放 | 国产精品高清在线 | 91中文字幕 | 成人影视片 | 毛片一区二区 | 97电影院在线观看 | 日本中文字幕电影在线免费观看 | 正在播放五月婷婷狠狠干 | 免费在线观看不卡av | 国产专区在线看 | 97色视频在线 | 午夜12点 | 91精品国自产在线观看 | 久久久久国产精品视频 | 91av超碰| 国内偷拍精品视频 | 久久综合福利 | 亚洲精品久久久久久中文传媒 | 国产一区二区在线精品 | 久草国产在线观看 | www黄色大片 | 国产精品字幕 | 成人a免费视频 | 国产精品第一视频 | 国产免费不卡av | 99久久精品免费看国产一区二区三区 | 国产中文字幕国产 | aⅴ视频在线 | 国产最新视频在线观看 | 美腿丝袜一区二区三区 | 成年人在线视频观看 | 免费观看av网站 | 国产精品久久久久久久久久久久久 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产一区二区三区在线 | 天天操天天摸天天射 | 国产精品久久久久久久久免费看 | 99c视频高清免费观看 | 国产在线看一区 | 久草视频免费观 | 91丨九色丨蝌蚪丨老版 | 九九久久久 | 国产色道 | 国产精品va在线观看入 | 中文字幕成人在线 | www.com在线观看 | 中文字幕在线观看你懂的 | 欧美日本三级 | 免费视频a | 亚洲人成综合 | 97自拍超碰 | 欧美二区视频 | 999久久久免费精品国产 | 中文字幕色婷婷在线视频 | 91成年人网站 | 97在线观看免费观看高清 | 午夜精品一区二区三区免费视频 | 国产日本亚洲高清 | 久久99网 | 国产精品一区二区免费视频 | 免费国产在线精品 | 成人三级视频 | 亚洲国产成人精品在线观看 | 精品国产一区二区三区噜噜噜 | 日韩91精品 | 日韩美av在线 | 在线 视频 一区二区 | 国产丝袜 | av网址在线播放 | 99产精品成人啪免费网站 | 午夜精品99久久免费 | 久久av黄色| 亚洲国产欧美在线看片xxoo | 天天弄天天操 | 一区三区视频 | 人人干人人干人人干 | www色com | 国产成人a v电影 | 日韩精品一区二区三区三炮视频 | 黄色成人av在线 | 亚洲综合激情小说 | 四虎影视成人永久免费观看亚洲欧美 | 精品国产美女在线 | 国产精品久99 | 欧美精品xx| 日韩一区二区三区免费视频 | 永久免费av在线播放 | 六月色婷 | 国产精品久久嫩一区二区免费 | 五月婷婷综合久久 | 日本久久高清视频 | 激情视频网页 | 日日夜色 | 国产精品美 | 久久经典国产视频 | 久久久久久久久久久久亚洲 | 国产精品久久久久三级 | 久久精品三 | 久久精品亚洲 | 欧美精品久久天天躁 | av资源免费观看 | 99久久精品电影 | 亚洲成人中文在线 | 手机看片99 | 特级黄色片免费看 | 天天艹 | 国产精品乱码久久 | 麻花豆传媒mv在线观看 | 国产片免费在线观看视频 | 日本最大色倩网站www | 天天干婷婷 | 国产精品国产三级国产专区53 | 精品成人网| 日本中文字幕一二区观 | 亚洲精品国产自产拍在线观看 | 亚洲性少妇性猛交wwww乱大交 | 日韩在线免费高清视频 | 最近免费中文字幕mv在线视频3 | 亚洲成人精品在线观看 | 中文字幕在线观看第一区 | 亚洲美女在线一区 | 热99在线视频 | 国产区精品视频 | 日韩理论影院 | 97视频在线观看网址 | 久久在线免费观看视频 | 国产三级在线播放 | 欧洲一区二区三区精品 | 国产精品一区二区av麻豆 | 色多多在线观看 | 久久电影中文字幕视频 | 亚洲一二视频 | 国产96视频| 欧美另类老妇 | 三级av小说 | 日韩视频一区二区三区在线播放免费观看 | 人人添人人澡 | 亚洲国产精品第一区二区 | 69av视频在线 | 天天色视频 | av 一区二区三区 | 久久精品亚洲综合专区 | 欧美精品xx| 亚洲国产欧美一区二区三区丁香婷 | 精品亚洲视频在线观看 | 欧美精选一区二区三区 | 国产亚洲免费观看 | 在线电影中文字幕 | 成人在线小视频 | 精品国产一二三四区 | 国产久草在线 | 精品一区二区在线观看 | 在线观看免费一级片 | 亚洲精品久久久久58 | 久久免费毛片 | 国产69久久久欧美一级 | 九九精品毛片 | 久久tv视频 | 国内外成人免费在线视频 | 欧美日韩成人 | 91久久久国产精品 | 在线成人观看 | 99精品黄色 | 中文字幕免费一区 | 亚洲欧美在线视频免费 | 成人久久久久 | 国产三级视频在线 | 欧美一级欧美一级 | 欧美精品三级在线观看 | 在线直播av | 天天干com| 精品国产一区在线观看 | 国产精品区二区三区日本 | 午夜视频在线观看一区 | 国产精品69久久久久 | 黄色大片日本 | 天天插狠狠插 | 特黄特色特刺激视频免费播放 | 亚洲国产视频在线 | 久草视频手机在线 | 五月婷婷综合久久 | 国产精品久久久久久久久久久久午夜片 | 91亚洲国产成人 | 婷婷精品国产一区二区三区日韩 | 人人干在线观看 | 玖操 | 视频国产在线观看18 | 国产在线观看一 | 丁香久久五月 | 亚洲天堂社区 | av三级在线免费观看 | 性色av香蕉一区二区 | 婷婷午夜 | 超碰大片| av免费观看高清 | 国产精品自产拍在线观看 | 欧美一区二区三区在线 | 国产精品久久久久久久久免费 | 久久免费在线视频 | 超碰国产在线 | 国产中文字幕第一页 | 91精品国产99久久久久久久 | 97综合在线 | 黄色a在线观看 | 特级片免费看 | 天天色天天操天天爽 | 一区二区三区四区五区六区 | 91在线产啪 | 日本精品视频一区 | www.天天干 | 国产一级二级视频 | 亚洲每日更新 | 有码中文字幕在线观看 | 综合天天网 | 人人爽人人干 | 成人在线视频免费观看 | av中文国产 | 婷婷色视频 | 久久香蕉国产 | 免费成人在线视频网站 | 午夜色性片 | 中文在线字幕免费观 | 久久综合亚洲鲁鲁五月久久 | 久久久久久久久久久成人 | 久草在线免费资源站 | 69中文字幕| av一级片在线观看 | 国产精品女主播一区二区三区 | 亚洲小视频在线 | 美女久久久 | 成年人精品 | 91九色在线视频观看 | 亚洲电影影音先锋 | www黄免费 | 久久综合精品一区 | 久久韩国免费视频 | 国产在线91精品 | 一级一片免费看 | 一区二区高清在线 | 精品国产理论片 | 成人性生交大片免费观看网站 | 日韩毛片一区 | 综合久久综合久久 | 精品国产电影一区二区 | 亚洲欧美视频网站 | 欧美精品小视频 | 黄色三级在线 | 天天曰视频 | 婷婷日韩| 成人在线观看你懂的 | 激情综合啪啪 | 99久久er热在这里只有精品15 | 综合激情av | 精品久久福利 | 五月天久久激情 | 伊香蕉大综综综合久久啪 | 亚洲人精品午夜 | 亚洲伦理一区二区 |