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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

布局万花筒:UIColletionview

發布時間:2023/12/16 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 布局万花筒:UIColletionview 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UICollectionView是iOS6的時候引入的,它同UITableView共享一套API設計,都是基于datasource和delegate,都繼承自UIScrollView。但它又與UITableView有很大不同,它進行了進一步的抽象,將它的所有子視圖的位置、大小、transform委托給了一個單獨的布局對象:UICollectionViewLayout。這是一個抽象類,我們可以繼承它來實現任何想要的布局,系統也為我們提供了一個開箱即食的實現UICollectionViewFlowLayout。在我看來,沒有任何排列布局是UICollectionViewLayout不能實現的,如果有那就自定義一個。

UITableView只能提供豎直滑動的布局,而且默認情況下cell的寬度和tableView的寬度一致,而且cell的排列順序也是挨次排列。UICollectionView則為我們提供了另一種可能:它能提供豎直滑動的布局也能提供水平滑動的布局,而且cell的位置、大小等完全由你自己決定。所以我們在遇到水平滑動的布局時,不要忙著用UIScrollView去實現,可以先考慮UICollectionView能不能滿足要求,還有一個好處是你不要自己考慮滑動視圖(cell)重用的問題。

這篇文章會講解如何自定義UICollectionViewLayout來實現任意布局,默認你已經會使用系統提供的UICollectionViewFlowLayout來進行標準的Grid View布局了。

1、UICollectionViewFlowLayout

系統為我們提供了一個自定義的布局實現:UICollectionViewFlowLayout,通過它我們可以實現Grid View類型的布局,也就是像一個一個格了挨次排列的布局,對于大多數的情況,使用它就能滿足我們的要求了。系統為我們提供了布局所需的參數,我們在使用的時候只需要去確定這些參數就行:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 NS_CLASS_AVAILABLE_IOS(6_0)?@interface?UICollectionViewFlowLayout?:?UICollectionViewLayout @property?(nonatomic)?CGFloat?minimumLineSpacing; @property?(nonatomic)?CGFloat?minimumInteritemSpacing; @property?(nonatomic)?CGSize?itemSize; @property?(nonatomic)?CGSize?estimatedItemSize?NS_AVAILABLE_IOS(8_0);?//?defaults?to?CGSizeZero?-?setting?a?non-zero?size?enables?cells?that?self-size?via?-preferredLayoutAttributesFittingAttributes: @property?(nonatomic)?UICollectionViewScrollDirection?scrollDirection;?//?default?is?UICollectionViewScrollDirectionVertical @property?(nonatomic)?CGSize?headerReferenceSize; @property?(nonatomic)?CGSize?footerReferenceSize; @property?(nonatomic)?UIEdgeInsets?sectionInset; //?Set?these?properties?to?YES?to?get?headers?that?pin?to?the?top?of?the?screen?and?footers?that?pin?to?the?bottom?while?scrolling?(similar?to?UITableView). @property?(nonatomic)?BOOL?sectionHeadersPinToVisibleBounds?NS_AVAILABLE_IOS(9_0); @property?(nonatomic)?BOOL?sectionFootersPinToVisibleBounds?NS_AVAILABLE_IOS(9_0); @end

Grid View樣式的UICollectionView如下所示:

如果上面所說的Grid View類型的布局不能滿足我們的需求,這時就需要自定義一個Layout。

2、UICollectionViewLayout VS UICollectionViewFlowLayout

UICollectionViewFlowLayout繼承自UICollectionViewLayout,我們可以直接使用它,我們只需要提供cell的大小,以及行間距、列間距,它就會自己計算出每個cell的位置以及UICollectionView的滑動范圍contentSize。但它只能提供一個方向的滑動,也就是說我們自定義的類如果繼承自UICollectionViewFlowLayout,則只能是在一個方向上滑動的布局,要么水平方向要么豎直方向。 反之,則需要繼承自UICollectionViewLayout,UICollectionViewLayout是一個抽象類,不能直接使用。

3、自定義布局需要實現的方法

UICollectionViewLayout文檔為我們列出了需要實現的方法:

以上列出的這六個方法不是都需要我們自己實現的,而是根據需要,選擇其中的某些方法實現。

collectionViewContentSize

UICollection繼承自UIScrollView,我們都知道UIScrollView的一個重要參數:contentSize,如果這個參數不對,那么你布局的內容就不能完全展示,而collectionViewContentSize就是為了得到這個參數,UICollection就像一個畫板,而collectionViewContentSize則規定了畫板的大小,如果是繼承自UICollectionViewFlowLayout,而且每個section里面的cell大小是通過UICollectionViewFlowLayout的參數設定的,大小和位置也不在自定義的過程中隨意更改,那么collectionViewContentSize是可以不自己重寫的,系統會自己計算contentSize,如果是繼承自UICollectionViewLayout,那就需要根據你自己的展示布局去提供合適的CGSize給collectionViewContentSize。

layoutAttributesForElementsInRect

這個方法的參數是UICollectionView當前的bounds,也就是視圖當前的可見區域,返回值是一個包含對象為UICollectionViewLayoutAttributes的數組,UICollectionView的可見區域內包含cell、supplementary view、decoration view(這里統稱cell,因為它們都是collectionView的一個子視圖),它們的位置、大小等信息都由對應的UICollectionViewLayoutAttributes控制。默認情況下這個LayoutAttributes包含indexPath、frame、center、size、transform3D、alpha以及hidden屬性。如果你還需要控制其他的屬性,你可以自己自定義一個UICollectionViewLayoutAttributes的子類,加上任意你想要的屬性。

布局屬性對象(UICollectionViewLayoutAttributes)通過indexPath和cell關聯起來,當collectionView展示cell時,會通過這些布局屬性對象拿到布局信息。

返回原話題,layoutAttributesForElementsInRect方法的返回值是一個數組,這個數組里面是傳遞進來的可見區域內的cell所對應的UICollectionViewLayoutAttributes。

要拿到可見區域內的布局屬性,通常的做法如下:

  • 如果你是繼承自UICollectionViewFlowLayout,并且設置好了itemSize、行間距、列間距等信息,那么你通過[super layoutAttributesForElementsInRect:rect]就能拿到可見區域內的布局屬性,反之,則進入步奏2。

  • 創建一個空數組,用于存放可見區域內的布局屬性。

  • 從UICollectionView的數據源中取出你需要展示的數據,然后根據你想要的布局計算出哪些indexPath在當前可見區域內,通過CGRectIntersectsRect函數可以判斷兩個CGRect是否有交集來確定。然后循環調用layoutAttributesForItemAtIndexPath:來確定每一個布局屬性的frame等數據。同樣,如果當前區域內有supplementary view或者decoration view,你也需要調用:layoutAttributesForSupplementaryViewOfKind:atIndexPath或者layoutAttributesForDecorationViewOfKind:atIndexPath,最后將這些布局屬性添加到數組中返回。這里需要多說一點的是,有些布局屬性在UICollectionViewLayout的prepareLayout就根據數據源全部計算了出來,比如瀑布流樣式的布局,這個時候你就只需要返回布局屬性的frame和當前可見區域有交集的對象就行。

layoutAttributesFor…IndexPath

這里用三個點,是因為有三個類似的方法:

  • layoutAttributesForItemAtIndexPath:

  • layoutAttributesForSupplementaryViewOfKind:atIndexPath:

  • layoutAttributesForDecorationViewOfKind:atIndexPath:

它們分別為cell、supplementaryView、decorationView返回布局屬性,它們的實現不是必須的,它們只是為對應的IndexPath返回布局屬性,如果你能通過其他方法拿到對應indexPath處的布局屬性,那就沒必要非要實現這幾個方法。

以layoutAttributesForItemAtIndexPath:為例,你可以通過+[UICollectionViewLayoutAttributes layoutAttributesForCellWithIndexPath:]方法拿到一個布局屬性對象,然后你可能需要訪問你的數據源去算出該indexPath處的布局屬性的frame等信息,然后賦值給它。

shouldInvalidateLayoutForBoundsChange

這個是用來告訴collectionView是否需要根據bounds的改變而重新計算布局屬性,比如橫豎屏的旋轉。通常的寫法如下:

1 2 3 4 5 6 7 8 ??-?(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds { ????CGRect?oldBounds?=?self.collectionView.bounds; ????if?(CGRectGetWidth(newBounds)?!=?CGRectGetWidth(oldBounds))?{ ????????return?YES; ????} ????????return?NO; }

需要注意的是,當在滑動的過程中,需要對某些cell的布局進行更改,那么就需要在這個方法里面返回YES,告訴UICollectionView重新計算布局。因為一個cell的改變會引起整個UICollectionView布局的改變。

4、示例一:瀑布流實現

瀑布流的排列一般用于圖片或者商品的展示,它的布局特點是等寬變高,cell的排列是找到最短的那一列,然后把cell放到那個位置,效果如下:

下面我們來看看具體的實現,這里的布局行間距和列間距都定位10,列數固定為3列,如上圖所示。

系統提供給我們的UICollectionViewFlowLayout顯然不能實現瀑布流的布局,因為它的默認實現是一行一列整齊對齊的,所以我們需要新建一個繼承自UICollectionViewFlowLayout的類,然后來講解一下這個類的實現。

prepareLayout

在講解如何布局瀑布流之前需要先說明一下UICollectionViewFlowLayout的prepareLayout方法,他會在UICollectionView布局之前調用,調用[self.collectionView reloadData]和[self.collectionView.collectionViewLayout invalidateLayout]的時候prepareLayout也會進行調用,如果shouldInvalidateLayoutForBoundsChange返回YES,prepareLayout方法同樣也會調用。所以這個函數是提前進行數據布局計算的絕佳地方。

在進行瀑布流布局的時候我們可以在prepareLayout里面根據數據源,計算出所有的布局屬性并緩存起來:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ??-?(void)prepareLayout?{ ????[super?prepareLayout]; ????//記錄布局需要的contentSize的高度 ????self.contentHeight?=?0; ????//columnHeights數組會記錄各列的當前布局高度 ????[self.columnHeights?removeAllObjects]; ????? ????//默認高度是sectionEdge.top ????for?(NSInteger?i?=?0;?i?<?self.columnCount;?i++)?{ ????????[self.columnHeights?addObject:@(self.edgeInsets.top)]; ????} ????//清除之前所以的布局屬性數據 ????[self.attrsArray?removeAllObjects]; ????//通過數據源拿到需要展示的cell數量 ????NSInteger?count?=?[self.collectionView?numberOfItemsInSection:0]; ????//開始創建每一個cell對應的布局屬性 ????for?(NSInteger?index?=?0;?index?<?count;?index++)?{ ????????//創建indexPath ????????NSIndexPath?*indexPath?=?[NSIndexPath?indexPathForItem:index?inSection:0]; ????????//獲取cell布局屬性,在layoutAttributesForItemAtIndexPath里面計算具體的布局信息 ????????UICollectionViewLayoutAttributes?*attrs?=?[self?layoutAttributesForItemAtIndexPath:indexPath]; ????????[self.attrsArray?addObject:attrs]; ????} }

在layoutAttributesForItemAtIndexPath方法里面去根據參數indexPath拿到數據源里面對應位置的展示數據,根據等寬的前提,等比例的獲得布局屬性的高度,然后根據記錄每列當前布局到的高度的數組columnHeights來找到當前布局最短的那一列,從而獲取到布局屬性的origin信息,這樣在等寬的前提下就獲取到了當前indexPath處的布局屬性的frame信息。然后更新columnHeights里面的數據,并且讓記錄布局所需高度的變量contentHeight等于當前列高度數組里面的最大值。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ??-(UICollectionViewLayoutAttributes?*)layoutAttributesForItemAtIndexPath:(NSIndexPath?*)indexPath?{ ????//獲取一個UICollectionViewLayoutAttributes對象 ????UICollectionViewLayoutAttributes?*attrs?=?[super?layoutAttributesForItemAtIndexPath:indexPath]; ????//列數是3,布局屬性的寬度是固定的 ????CGFloat?collectionViewW?=?self.collectionView.frame.size.width; ????CGFloat?width?=?(collectionViewW?-?self.edgeInsets.left?-?self.edgeInsets.right?-?(self.columnCount?-?1)?*?self.columnMargin)?/?self.columnCount; ????CGFloat?height?=?通過數據源以及寬度信息,獲取對應位置的布局屬性高度; ????//找到數組內目前高度最小的那一列 ????NSInteger?destColumn?=?0; ????CGFloat?minColumnHeight?=?[self.columnHeights[0]?doubleValue]; ????for?(NSInteger?index?=?1;?index?<?self.columnCount;?index++)?{ ??????????CGFloat?columnHeight?=?[self.columnHeights[index]?doubleValue]; ????????if?(minColumnHeight?>?columnHeight)?{ ????????????minColumnHeight?=?columnHeight; ????????????destColumn?=?index; ????????????break; ????????} ????} ????//根據列信息,計算出origin的x ????CGFloat?x?=?self.edgeInsets.left?+?destColumn?*?(width?+self.columnMargin); ????CGFloat?y?=?minColumnHeight; ????if?(y?!=?self.edgeInsets.top)?{//不是第一行就加上行間距 ????????y?+=?self.rowMargin; ????} ????//得到布局屬性的frame信息 ????attrs.frame?=?CGRectMake(x,?y,?width,?height); ????//更新最短那列的高度 ????self.columnHeights[destColumn]?=?@(CGRectGetMaxY(attrs.frame)); ????//更新記錄展示布局所需的高度 ????CGFloat?columnHeight?=?[self.columnHeights[destColumn]?doubleValue]; ????if?(self.contentHeight?<?columnHeight)?{ ????????self.contentHeight?=?columnHeight; ????} ????? ????return?attrs; }

滑動的過程在,cell會不斷重用,系統會調用layoutAttributesForElementsInRect方法來獲取當前可見區域內的布局屬性,由于所有的布局屬性都緩存了起來,則只需返回布局屬性的frame和當前可見區域有交集的布局屬性就行。

1 2 3 4 5 6 7 8 9 10 ??-(NSArray?*)layoutAttributesForElementsInRect:(CGRect)rect?{ ????NSMutableArray?*rArray?=?[NSMutableArray?array]; ????for?(UICollectionViewLayoutAttributes?*cacheAttr?in?_attrsArray)?{ ????????if?(CGRectIntersectsRect(cacheAttr.frame,?rect))?{ ????????????[rArray?addObject:cacheAttr]; ????????} ????} ????return?rArray; }

最后由于我們自定義了每個cell的高度及布局,所以系統是不知道UICollectionView當前的contentSize的大小,所以我們需要在collectionViewContentSize方法里返回正確的size以確保所以cell都能正常滑動到可見區域里來。

1 2 3 ??-(CGSize)collectionViewContentSize?{ ????return?CGSizeMake(CGRectGetWidth(self.collectionView.frame),?self.contentHeight?+?self.edgeInsets.bottom); }

至此,瀑布流的布局就完成了,實現起來非常簡單,最關鍵的地方就是計算布局屬性的frame信息。

5、示例二:卡片吸頂布局

卡片吸頂布局的效果如下:

可以看到滑到頂部的cell本應該移出當前可見區域,但我們實現的效果是移到頂部后就懸停,并且可以被后來的cell覆蓋。

實現的原理非常簡單,cell的布局使用UICollectionViewFlowLayout就能實現,我們新建一個繼承自UICollectionViewFlowLayout的子類,利用這個子類創建布局,可以利用UICollectionViewFlowLayout提供的參數來構建一個不吸頂展示的collectionView:

只需要提供給UICollectionViewFlowLayoutitemSize和minimumLineSpacing就行,行間距minimumLineSpacing設置為一個負數就能建立起互相疊加的效果。

要建立吸頂的效果,只需要在原來的布局基礎上,判斷布局屬性frame小于布局頂部的y值,就將布局屬性的frame的y值設置為頂部的y值就行,這樣滑動到頂部的cell都會在頂部懸停下來。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 @implementation?CardCollectionViewFlowLayout -?(NSArray?*)layoutAttributesForElementsInRect:(CGRect)rect { ????//拿到當前可見區域內的布局屬性 ????NSArray?*oldItems?=?[super?layoutAttributesForElementsInRect:rect]; ????//處理當前可見區域內的布局屬性吸頂 ????[oldItems?enumerateObjectsUsingBlock:^(UICollectionViewLayoutAttributes?*attributes,?NSUInteger?idx,?BOOL?*stop)?{ ????????[self?recomputeCellAttributesFrame:attributes]; ????}]; ????? ????return?oldItems; } -?(void)recomputeCellAttributesFrame:(UICollectionViewLayoutAttributes?*)attributes { ????//獲取懸停處的y值 ????CGFloat?minY?=?CGRectGetMinY(self.collectionView.bounds)?+?self.collectionView.contentInset.top; ????//拿到布局屬性應該出現的位置 ????CGFloat?finalY?=?MAX(minY,?attributes.frame.origin.y); ????? ????CGPoint?origin?=?attributes.frame.origin; ????origin.y?=?finalY; ????attributes.frame?=?(CGRect){origin,?attributes.frame.size}; ????//根據IndexPath設置zIndex能確立頂部懸停的cell被后來的cell覆蓋的層級關系 ????attributes.zIndex?=?attributes.indexPath.row; } -?(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds { ????//由于cell在滑動過程中會不斷修改cell的位置,所以需要不斷重新計算所有布局屬性的信息 ????return?YES; } @end

在實現里面不需要-(CGSize)collectionViewContentSize方法的原因是,對于利用UICollectionViewFlowLayout來進行布局,而不是自定義的布局,系統會自動根據你設置的itemSize等信息計算出contentSize。

6、總結

通過上面的例子我們可以看到,UICollectionView相到于一個畫板,而UICollectionViewLayout則可以幫我們組織畫板的大小,以及畫板內容的組織形態。在日常開發需求中,我們也需要重視UICollectionView,利用好它可以達到事半功倍的效果。

總結

以上是生活随笔為你收集整理的布局万花筒:UIColletionview的全部內容,希望文章能夠幫你解決所遇到的問題。

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

国产一区 在线播放 | 久久最新 | 欧美一区二区三区不卡 | 久久艹人人 | 最新av免费在线 | 97天天综合网 | 欧美精品九九99久久 | 午夜精品区| 国产91综合一区在线观看 | 青青河边草观看完整版高清 | 中文字幕在线视频一区二区三区 | 日本不卡久久 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 特级西西444www大胆高清无视频 | 久热国产视频 | 欧美贵妇性狂欢 | 国产无遮挡又黄又爽馒头漫画 | 精品在线观看免费 | 久久综合免费视频影院 | 亚洲国产精彩中文乱码av | 中文字幕视频观看 | 国产成人精品a | 亚洲涩涩一区 | 丁香五月亚洲综合在线 | 久久精品国产一区二区 | 少妇bbbb | 久久久久久福利 | 91香蕉视频色版 | 美女免费电影 | 久草在线视频首页 | 九色精品在线 | 国产成人福利片 | 黄色av播放 | 97在线视频免费播放 | 欧美日高清视频 | 一区二区理论片 | 成人一区二区三区在线观看 | 国产精品6999成人免费视频 | 久久精品欧美日韩精品 | 国产最新视频在线 | 国产精品久久久久久久久久久久久久 | 亚洲3级 | 99产精品成人啪免费网站 | 在线日韩av | 麻豆视频免费入口 | 996久久国产精品线观看 | 久久久污 | 亚洲成a人片综合在线 | 黄色成人小视频 | 精品xxx | 香蕉在线播放 | 日韩特级黄色片 | 91亚色视频| 8090yy亚洲精品久久 | 成人在线观看av | www九九热 | 久久99这里只有精品 | 91在线视频观看 | 天天·日日日干 | 91在线网址 | 欧美国产在线看 | 在线观看免费91 | 中文字幕在线观看你懂的 | 国产一级片免费观看 | www.五月婷 | 久久一区二区免费视频 | 亚洲激情在线 | 欧美伦理一区二区三区 | 国产亚洲欧美在线视频 | 看黄色.com| 亚洲国产视频在线 | 国产亚洲一级高清 | 中文字幕色婷婷在线视频 | av网址在线播放 | 五月激情视频 | 国产精品成人一区二区三区 | 亚洲黄色一级大片 | 欧美成年网站 | 99在线看| 亚洲欧美日韩精品久久奇米一区 | 久久天堂网站 | 欧美黑人xxxx猛性大交 | 精品久久久久久久久久国产 | 日本精品一区二区在线观看 | 久久久www | 国产午夜精品在线 | 欧美久久综合 | 日本中文乱码卡一卡二新区 | 四虎视频 | 国产精品久久久久久吹潮天美传媒 | 国产精品资源在线观看 | 国内免费久久久久久久久久久 | 免费影视大全推荐 | 天天操天天能 | 日韩av中文在线观看 | 久久精品99国产精品 | 黄色片免费看 | 色偷偷88888欧美精品久久 | 日韩欧美精品在线观看 | 日韩精品大片 | av一区在线 | 午夜精品一区二区三区在线观看 | 在线观看黄网站 | 狠狠操综合| 欧美日韩视频在线观看免费 | 亚洲国产精品电影 | 日韩精品久久久免费观看夜色 | 最新亚洲视频 | 国产美女被啪进深处喷白浆视频 | 色射爱 | 成年人免费看 | 五月婷婷电影网 | www.午夜| 久久高清av | 欧美一级视频免费看 | 精品成人a区在线观看 | av超碰免费在线 | 成年人视频免费在线播放 | 中文字幕av最新更新 | 亚洲年轻女教师毛茸茸 | av电影在线不卡 | 奇米网444 | 日韩二区三区在线观看 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 五月天久久综合网 | 男女啪啪网站 | 亚洲电影久久久 | 一区二区三区高清不卡 | 日韩欧美精品在线 | 天天曰天天爽 | 免费a v在线 | 免费在线看v | 欧美日本高清视频 | 99视频在线观看一区三区 | 4438全国亚洲精品观看视频 | 香蕉视频在线免费 | 五月婷综合网 | 久久综合偷偷噜噜噜色 | 免费国产亚洲视频 | 91久久奴性调教 | 伊人成人激情 | 国产字幕在线观看 | 日韩欧美xxxx | 九九色在线 | 国产精品岛国久久久久久久久红粉 | 成人午夜精品福利免费 | 国产一级久久久 | 亚洲精品在线国产 | 麻豆超碰 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 国产激情电影综合在线看 | 日韩精品专区在线影院重磅 | 美女视频久久久 | 狠狠狠狠狠干 | 中文字幕亚洲欧美日韩2019 | 成年人免费电影 | 狠狠色狠狠色合久久伊人 | www99精品| 日韩在线| 久久久精品视频网站 | 天天草天天色 | 免费视频网 | 国产91精品欧美 | 久久一区二| 在线播放精品一区二区三区 | 夜夜视频欧洲 | 日本大片免费观看在线 | 亚洲黄色在线 | 亚洲精品美女久久17c | 98精品国产自产在线观看 | 国产在线色视频 | 日韩一级理论片 | 九九九热精品 | 日韩免费久久 | 免费看成人片 | 中文字幕在线乱 | 国产一级h| 日韩欧美综合在线视频 | 成人在线黄色 | 午夜影院日本 | 日本亚洲国产 | 久久99国产精品免费 | 日韩精品一区二区三区免费视频观看 | 欧美久草网 | 丝袜美女视频网站 | 欧美日韩国产在线观看 | 在线小视频国产 | 一级黄色毛片 | 日产乱码一二三区别免费 | 日本免费久久高清视频 | 国产精品一区二区 91 | 狠狠色丁香婷婷综合视频 | 手机看片国产 | 美女很黄免费网站 | 亚洲黄色免费观看 | 四虎影视成人永久免费观看亚洲欧美 | 国产一区二区久久久 | 中文字幕乱码在线播放 | www在线免费观看 | 超碰久热 | 毛片网站免费 | 少妇bbb搡bbbb搡bbbb′ | 深爱激情五月综合 | 黄色小说18 | av福利电影 | 欧美日韩中文字幕视频 | 在线观看免费 | 婷婷伊人五月天 | 欧美va天堂va视频va在线 | 91禁看片 | 一本色道久久综合亚洲二区三区 | 久草在线免费资源 | 成人cosplay福利网站 | 久久躁日日躁aaaaxxxx | 日韩黄色中文字幕 | 中文字幕一区二区三区在线视频 | 国产私拍在线 | 欧美日韩国产亚洲乱码字幕 | 激情久久小说 | 免费在线播放视频 | 免费av片在线 | 激情五月播播久久久精品 | 91传媒免费观看 | 中文字幕日本特黄aa毛片 | 欧美日韩视频在线播放 | 欧美精品你懂的 | 日韩欧美视频一区二区三区 | 99久久激情 | 三级a毛片 | 久久国产剧场电影 | av先锋影音少妇 | 国产精品a成v人在线播放 | 成人黄色影片在线 | 一区三区视频在线观看 | 丁香花在线观看视频在线 | 波多野结衣在线中文字幕 | 精品99久久 | 色综合婷婷 | 精品久久国产一区 | 91传媒免费在线观看 | www欧美xxxx| 久草av在线播放 | 久久久久国产一区二区三区 | 在线观看视频 | 久久国产精品色av免费看 | 久久a v电影 | 91网页版在线观看 | 国产aa免费视频 | 97碰碰精品嫩模在线播放 | 中文av影院 | 日韩av影视在线观看 | 91人人在线 | 中文在线免费视频 | 精品福利网站 | 97精品国产97久久久久久免费 | 免费黄色激情视频 | 韩国视频一区二区三区 | 在线观看黄色免费视频 | 久久精品播放 | 天天色天天爱天天射综合 | 国产精品夜夜夜一区二区三区尤 | 天天草综合网 | 亚洲精品久久久久999中文字幕 | 99热精品国产一区二区在线观看 | 成人av资源 | 在线a视频 | 99亚洲国产精品 | 2017狠狠干| www.婷婷com| 午夜av网站| 精品一区91 | 久久久精品久久日韩一区综合 | 深爱激情五月婷婷 | 97超碰免费在线 | 最新99热 | 国产精品视频永久免费播放 | 波多野结衣最新 | 国产精品一区二区在线观看 | 久久精品欧美日韩精品 | 久草在线观看资源 | 日韩激情一二三区 | 波多野结衣网址 | 麻豆国产露脸在线观看 | 日韩av女优视频 | 久久久久福利视频 | 亚洲精品视频在线观看网站 | 韩国一区二区三区在线观看 | 午夜精品久久久久久久99水蜜桃 | 欧美日韩国语 | 国产精品不卡视频 | 韩国一区二区三区视频 | 国产精品99久久久精品免费观看 | www激情久久 | 色婷婷丁香 | 天天摸天天舔天天操 | 午夜精品一区二区三区可下载 | 在线观看视频在线观看 | 国产精品成人自拍 | 免费在线观看av网站 | 伊人狠狠 | 日韩高清成人 | 五月婷婷久草 | 欧美精品一区二区在线观看 | 亚洲爱爱视频 | 国产精品色在线 | 亚洲精品美女久久17c | 天堂av网址 | 主播av在线 | 美国av片在线观看 | 欧美成人h版在线观看 | 成人免费毛片aaaaaa片 | 欧美日韩精品影院 | 黄色av电影在线 | 中文国产在线观看 | 午夜视频在线观看网站 | 黄色三级免费观看 | 天天色影院 | 欧美激情精品久久久久久变态 | 99在线国产 | 成人av午夜 | 国产五十路毛片 | 黄色精品视频 | 久久视影| 九九免费在线观看 | 欧美最猛性xxxxx(亚洲精品) | 国产 欧美 在线 | 久久精品视频网址 | 999久久久精品视频 日韩高清www | 欧美日韩国产一区二区三区在线观看 | 国产色婷婷精品综合在线手机播放 | 在线观看日韩一区 | 00av视频 | 二区精品视频 | 在线视频观看你懂的 | 国产精品久久久久久久久久久久久 | a在线免费 | 2019天天干夜夜操 | 国产一区二区在线影院 | 新av在线| 最近中文字幕国语免费av | 亚洲国产精彩中文乱码av | 欧美日韩一级视频 | 99热精品视 | 91精品在线免费观看 | avav片 | 日本一区二区免费在线观看 | 97超碰在线久草超碰在线观看 | 一区在线观看视频 | 91视频免费看 | 狠狠伊人| 欧美一级在线观看视频 | 福利视频一区二区 | 久草免费在线观看 | 在线观看视频福利 | 9999国产精品 | 国产va饥渴难耐女保洁员在线观看 | 天天色天天射天天操 | 久久久久久久久亚洲精品 | 色综合久久五月天 | 亚洲国产影院av久久久久 | 天天想夜夜操 | 九九免费精品视频在线观看 | 成人在线播放免费观看 | 精品理论片 | 怡春院av| 亚洲另类视频在线观看 | 人人超碰97 | 久久精品免费电影 | 国产资源网| 国产精品视频内 | 久久国产片| 成人免费视频播放 | 一区二区三区动漫 | 中文字幕在线观看三区 | 亚洲电影网站 | 午夜av激情| 国产一区二区久久久久 | 六月丁香久久 | 中文字幕免费高清av | 久久久精品欧美一区二区免费 | 国产精品一区二区果冻传媒 | 日韩丝袜| 91精品一区二区在线观看 | 国产区精品视频 | 欧美激情视频一区二区三区免费 | 91久久精品一区二区二区 | 亚洲美女视频在线 | 欧美日韩1区| 超碰在线人人 | 婷婷六月天丁香 | 国产成人一区二区三区 | 啪啪av在线 | 久久国产网 | 免费a网 | 久久在线免费视频 | 97av在线| 久久一级片 | 亚洲国产精品久久久久 | 四虎伊人 | 国产在线一区观看 | 国产一级免费片 | 亚洲精品国产欧美在线观看 | 激情av网址 | 国产麻豆剧果冻传媒视频播放量 | 日韩免费在线视频 | 丁香婷婷综合激情五月色 | 免费久久99精品国产婷婷六月 | 天天综合网国产 | 亚洲麻豆精品 | 高清av影院 | 国产伦精品一区二区三区四区视频 | 国产中文伊人 | 狠狠色丁香婷婷综合 | 久久久久久久久久久网站 | 欧美国产在线看 | 久久久久久高清 | 米奇狠狠狠888 | 97人人爽 | 免费在线激情电影 | 伊色综合久久之综合久久 | 免费黄色在线网址 | 亚洲电影影音先锋 | 精品免费观看 | 玖玖视频免费在线 | 国产一区精品在线观看 | 日韩成人精品在线观看 | www.五月婷 | 欧美成人xxxxx| 亚洲一级电影 | 国产在线精品一区二区不卡了 | 婷婷网在线 | 亚洲精品久久视频 | 四月婷婷在线观看 | 亚洲一级片 | 99久久婷婷国产精品综合 | 久久综合五月天 | 亚洲欧美成人综合 | 国产成人精品久久久久蜜臀 | 狠狠干网址 | 久久综合色婷婷 | 在线精品视频在线观看高清 | 婷婷综合成人 | 色婷婷骚婷婷 | 伊人影院得得 | 精品国产乱码久久久久久三级人 | 亚洲视屏一区 | 午夜a区| 欧美夫妻性生活电影 | 日韩精品视频久久 | 麻豆视频91 | 成人a v视频| 亚洲最大av网 | 午夜少妇| 97人人模人人爽人人少妇 | 久久久精品国产免费观看一区二区 | 中文字幕文字幕一区二区 | 亚洲国产中文在线观看 | 日韩黄色免费在线观看 | 中文字幕一区二区三区四区 | 在线观看免费av网 | 国产成人精品亚洲 | 日韩美在线观看 | 狠狠激情中文字幕 | 97人人澡人人爽人人模亚洲 | 天堂av最新网址 | 国产99久久精品一区二区300 | 日本一区二区三区视频在线播放 | 欧美精品九九99久久 | 欧美另类sm图片 | av无限看| 亚洲精品美女久久久 | 欧美激情精品久久久久久免费 | 日韩av电影一区 | 欧美日韩国产精品久久 | 日韩电影在线观看中文字幕 | 性色xxxxhd| 操夜夜操 | www久久99 | www.国产在线观看 | 婷婷丁香花五月天 | 国内精品99 | 精品久久久国产 | 97国产精品免费 | 日本免费久久高清视频 | 国产精品网红直播 | www.狠狠色.com| 午夜精品久久久久久久99婷婷 | 2023av| 高清在线观看av | 久久久久久久久久久久久9999 | 久久一区二区三区四区 | 国产精品亚洲视频 | 中文字幕电影网 | 国产女人免费看a级丨片 | 欧美日韩精品国产 | 韩国在线视频一区 | 国产免费观看高清完整版 | 黄色国产成人 | 国产精品九九九九九九 | 久久8精品 | 午夜国产福利在线 | 日本乱视频 | 91亚洲网 | 欧美性超爽 | 成年人免费观看在线视频 | 在线免费黄网站 | 国产一区二区三区 在线 | av免费试看 | 亚洲v欧美v国产v在线观看 | 成人免费在线视频 | 日日夜夜天天久久 | 中文字幕乱偷在线 | 久久97视频 | 亚洲视频精选 | 日韩免费一级电影 | 欧美视频不卡 | 在线观看电影av | 久久免费视频在线观看30 | 免费国产在线观看 | 国产日韩精品在线观看 | 91在线在线观看 | 久久女教师 | 午夜精品久久久99热福利 | av7777777| 久久影视一区 | 99热高清| 久久免费电影网 | 色婷婷亚洲精品 | 欧美激情视频一区二区三区免费 | 在线播放亚洲 | 超碰人人乐 | 久久久久久久av麻豆果冻 | 一区二区三区四区久久 | 一区二区三区动漫 | 成年人视频在线免费播放 | 亚洲综合激情小说 | www.久久爱.cn | 四虎在线免费观看 | 欧洲色综合 | 亚洲精品在线视频播放 | 久久久穴| 91视频在线免费 | 中文字幕 91 | 国产在线自 | 亚洲国产精品激情在线观看 | 在线国产精品一区 | 亚洲精品h | 久久精品视频免费播放 | 精品夜夜嗨av一区二区三区 | 91视频在线 | 天天操综合 | 日韩欧美观看 | 精品久久五月天 | 日韩精品免费一区二区在线观看 | 深爱婷婷激情 | 日韩欧美中文 | 97成人在线观看视频 | 中文视频一区二区 | 91成版人在线观看入口 | 成人va在线观看 | 九九色综合 | 麻花豆传媒mv在线观看网站 | 久草在线视频首页 | 17videosex性欧美 | 免费在线播放av电影 | 国产精品久免费的黄网站 | 国产区免费在线 | 中文字幕一区二区三区乱码在线 | 国内精品久久久久影院优 | 超碰97国产 | 成人免费中文字幕 | 欧美久久久久久久久久久久 | 成人av高清在线观看 | 成年人国产精品 | www.夜夜干.com | 激情欧美国产 | 最新国产在线观看 | 久久久久久国产精品亚洲78 | 亚洲国产一区二区精品专区 | 久久深爱网 | 国产精品原创av片国产免费 | 免费观看丰满少妇做爰 | 国产精品高清一区二区三区 | 伊人天天综合 | 久久久久国产精品免费免费搜索 | 亚洲中字幕| 成人影视免费看 | 日韩av黄 | 国产精品久久久久久久久久免费 | 免费视频久久 | 欧美日韩在线播放一区 | 国产精品久久久 | 亚洲精品永久免费视频 | 久久国产一区 | 久久精品79国产精品 | 免费在线一区二区 | 超碰97中文 | 中文字幕在线观看第三页 | 国产精品av一区二区 | 97碰在线视频 | 视频一区在线播放 | 99综合久久| 国产精品美女久久久久久久网站 | 亚洲国产视频直播 | 久久久国际精品 | 色婷婷亚洲婷婷 | 亚洲自拍偷拍色图 | 国产韩国日本高清视频 | 美女在线免费观看视频 | 91av网址| 成人黄色av免费在线观看 | 一区二区免费不卡在线 | 国产涩涩在线观看 | 亚洲欧美日韩精品久久奇米一区 | 成年人视频免费在线 | 久久亚洲人 | 天天射天天 | 国偷自产中文字幕亚洲手机在线 | 黄色国产高清 | 青青河边草免费 | 深爱激情五月综合 | 最新中文在线视频 | 国内精品美女在线观看 | 免费网站看av片 | 性日韩欧美在线视频 | 国产精品中文字幕在线播放 | www激情久久 | 在线观看aaa | 国产aa免费视频 | 国产a免费 | 精品国模一区二区三区 | 美女视频黄的免费的 | 国产午夜精品免费一区二区三区视频 | 日韩精品中文字幕在线观看 | 在线观看精品国产 | 日韩视频免费在线 | 五月天婷婷综合 | 香蕉久草在线 | 欧美一级性生活视频 | 一区二区视频免费在线观看 | 国产精品入口麻豆www | 91九色porny在线 | 婷婷网在线 | 丁香九月婷婷 | 狠狠干综合 | 亚洲久草在线视频 | 三级在线视频观看 | 粉嫩av一区二区三区四区五区 | 3d黄动漫免费看 | 狠狠色噜噜狠狠狠狠2021天天 | 免费a网 | 97免费在线视频 | 五月婷婷视频在线 | 91av视频播放 | 国产精品正在播放 | 综合网欧美 | 在线日本看片免费人成视久网 | 中文字幕视频一区二区 | 国产色影院 | 亚洲天堂网在线视频观看 | 天天摸天天舔 | 九九九毛片| 免费成人看片 | 国产精品igao视频网网址 | www操操操 | 精品婷婷 | 在线观看视频你懂 | 久久av电影| 日本激情中文字幕 | 91免费在线视频 | 97成人精品区在线播放 | 六月色丁香 | 国产成人免费在线观看 | 精品亚洲免费视频 | 美女黄频视频大全 | 精品国产一区二区三区四区在线观看 | 在线一二三区 | 久久综合九色 | 丝袜美腿在线 | 国产乱对白刺激视频在线观看女王 | 最新av免费在线 | 韩国av免费观看 | 亚洲天堂网在线视频 | 视频一区亚洲 | 久久久久久欧美二区电影网 | 久久久久国产一区二区三区 | 午夜久久久久久久 | 日日操日日干 | 国产精品乱码久久久久久1区2区 | 日韩精品一区不卡 | 久久人人爽人人爽人人片 | 九九视频精品免费 | 最新av网址大全 | av中文国产| 蜜臀久久99精品久久久无需会员 | av一级在线 | 最近中文字幕视频网 | 国产69精品久久久久久久久久 | 国产热re99久久6国产精品 | 最新中文字幕在线观看视频 | 亚洲欧洲精品视频 | 天天操天天色综合 | 国产黄a三级 | 在线观看亚洲成人 | 99精品在线直播 | 在线免费高清视频 | 91av视频导航 | 国产精品美女久久久久久 | 色无五月| 天天激情综合网 | 亚洲精品h | 久久国产欧美日韩精品 | 久草视频精品 | 免费观看一区二区三区视频 | 亚洲精品在线网站 | 中日韩在线视频 | 国产成人在线播放 | 国产精品自拍av | 日本成人中文字幕在线观看 | 人人爽人人爽人人爽 | 91精品久久久久久久久久入口 | 丁香色天天 | 日韩免费在线看 | 日韩久久久久久久久久 | 四虎永久免费在线观看 | 91精品系列 | 日本黄色免费电影网站 | 日韩欧美久久 | 国模精品在线 | 久久久99精品免费观看 | www.亚洲精品| 色六月婷婷 | 91精品成人 | av成人免费在线 | 欧美在线aaa | 99视频偷窥在线精品国自产拍 | 91视频中文字幕 | av+在线播放在线播放 | 国产欧美在线一区二区三区 | 日av免费 | 成人av播放 | 欧美美女视频在线观看 | 久草在线国产 | 人人射av | 欧美日韩激情视频8区 | 国产成人av在线影院 | 男女啪啪视屏 | 久久精品福利视频 | 日韩免费视频线观看 | 一区二区激情 | 国产视频网站在线观看 | 五月婷婷国产 | 色偷偷888欧美精品久久久 | 国产 视频 久久 | 久久精品视频免费观看 | 午夜视频在线观看一区二区 | 在线观看免费黄视频 | 91大片成人网 | 国产精品久久久久久久久久久久 | 麻豆视频91 | 国产在线精品一区二区三区 | 国产98色在线 | 日韩 | 黄色免费在线看 | 国产一区免费视频 | 日韩一级电影网站 | 久久免费观看少妇a级毛片 久久久久成人免费 | 免费一级片在线观看 | 男女免费视频观看 | 久久久久久黄色 | 日韩免费视频在线观看 | 久久久久高清毛片一级 | 日韩二区三区在线 | 色天堂在线视频 | 91成人小视频| 亚洲美女免费精品视频在线观看 | 国内精品久久久久久久久久久久 | 91av免费在线观看 | 天天干天天操天天入 | 欧美日韩不卡在线视频 | 国产精品免费视频一区二区 | 久草青青在线观看 | 丰满少妇对白在线偷拍 | 欧美一级性视频 | 久久精品人| 精品字幕| 亚洲国产成人精品久久 | 免费在线观看亚洲视频 | 亚洲午夜久久久久久久久久久 | 96精品高清视频在线观看软件特色 | 久久免费精品国产 | 国产成人一区二区三区电影 | 久久人人爽人人片av | 成人黄色影片在线 | 九九久久久久久久久激情 | 日韩精品资源 | 欧美日韩国产精品一区二区三区 | 波多野结衣精品 | 国产福利一区二区在线 | 日韩美视频| 色综合久久综合 | 韩国av电影在线观看 | 在线观看免费日韩 | 免费看成年人 | 日韩羞羞 | 黄色三级在线 | 99热在线精品观看 | 亚洲波多野结衣 | 久久综合成人 | 亚洲精品三级 | 欧美久久久一区二区三区 | 少妇av片| 伊人超碰在线 | 久久免费av电影 | 一区免费在线 | 精品一区二区电影 | 亚洲人xxx| 一级理论片在线观看 | 成人h电影 | 毛片网在线播放 | 亚洲精品88欧美一区二区 | 日韩av一区在线观看 | 亚洲欧美日本国产 | 色狠狠久久av五月综合 | 日韩久久精品一区 | www免费黄色| 日韩av播放在线 | 国产色妞影院wwwxxx | 在线看片视频 | 色狠狠久久av五月综合 | 婷婷www| 午夜影视剧场 | 91久久电影 | 开心激情网五月天 | 国内精品久久久久影院优 | 友田真希av | 中文字幕在线观看av | 国产亚洲精品美女 | 有没有在线观看av | 免费观看完整版无人区 | 亚洲精品视频在线观看免费视频 | 91中文字幕网 | 福利视频 | 99热国产精品 | 久久 地址| av成人在线观看 | 久久免费试看 | 在线看日韩av | 九九视频精品免费 | 国产毛片久久久 | 日韩精品视频第一页 | 丁香婷婷综合激情五月色 | 久久久精品国产一区二区 | 久久久久久国产精品久久 | av在线网站大全 | 久久久久久久久毛片 | 亚洲国产免费网站 | 国产成人av片 | 国产欧美在线一区 | 国产精品毛片完整版 | 国产麻豆果冻传媒在线观看 | 国产精品黄色 | 在线精品观看国产 | 欧美在线视频二区 | 精品视频区 | 日日摸日日| 欧美亚洲国产精品久久高清浪潮 | 久久久久久久久久久影院 | 久久9精品 | 久久黄页| 免费下载高清毛片 | 狠狠狠色丁香综合久久天下网 | 国产视频色 | 天天色综合天天 | 成年人视频免费在线 | 国产精品99久久久久 | 久久综合久久八八 | 久久久国产一区二区三区四区小说 | 久久精品91久久久久久再现 | 国产不卡在线播放 | 亚洲午夜精品久久久久久久久久久久 | 五月开心六月婷婷 | 免费福利视频导航 | 在线观看黄网 | 国产成人av电影在线观看 | 中文字幕.av.在线 | 91九色国产视频 | 精品久久美女 | 欧美日韩视频在线观看免费 | 麻花传媒mv免费观看 | 国产精品欧美在线 | 国产精品v a免费视频 | 中文字幕日韩av | 91成人免费 | 蜜桃传媒一区二区 | 美女视频黄在线 | 国产xxxx | 看片黄网站| 久久免费观看少妇a级毛片 久久久久成人免费 | 麻豆一精品传二传媒短视频 | 狠狠色丁香婷婷综合最新地址 | 97超碰超碰 | 日韩精品一区二区不卡 | 国产成人一区二区精品非洲 | 久久99视频| 在线观看精品一区 | 国产麻豆剧传媒免费观看 | 免费十分钟 | 国产精品2018 | 欧美精品成人在线 | 国产成人av电影在线 | 6699私人影院 | 中文字幕一区二 | 国产精品va最新国产精品视频 | 久久久激情网 | www久久久久 | av网站在线免费观看 | 成人在线视频观看 | 亚州精品在线视频 | 99精品久久99久久久久 | 天天躁日日躁狠狠躁av麻豆 | 91av手机在线 | 手机av在线不卡 | 亚洲撸撸 | 久久久久五月天 | 黄色av影视 | 久久精品中文字幕少妇 | 免费色视频在线 | 青青久草在线视频 | 九九九九九国产 | 久久国产精品免费观看 | 国产精品久久久久久久久久久久午夜片 | 射综合网 | 456成人精品影院 | 欧美性生活免费看 | 天天干夜夜操视频 | 国产日韩欧美在线观看 | 丁香婷五月| 国产a国产 | 91免费国产在线观看 | 中文字幕 影院 | 久久综合五月天婷婷伊人 | 久久艹久久 | 亚洲欧美va| 精品国产乱码久久久久 | 区一区二在线 | 丰满少妇在线观看资源站 | 亚洲欧洲精品久久 | 日韩毛片久久久 | 午夜精品一区二区三区在线播放 | 精品美女在线观看 | 久热精品国产 | 国产亚洲精品久久久久秋 | 国产精彩在线视频 | 日韩大片在线免费观看 | 久久综合九色 | 亚洲资源视频 | 欧美日韩高清一区二区 | 国产精品久久久一区二区三区网站 | 日韩在线观看三区 | 蜜臀久久99精品久久久久久网站 | 天天综合中文 | 69精品在线 | 最新日韩精品 | 天天干一干 | 日日夜夜精品免费观看 | 国产精品第52页 | 日韩在线观看中文字幕 | 9999精品免费视频 | 五月天婷婷丁香花 | 久久久久久久99 | 国产小视频你懂的 | 五月婷婷丁香在线观看 | 亚洲精品黄色片 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 色97在线 | 视频在线播放国产 | 天天弄天天操 | 久久中文字幕在线视频 | 免费在线一区二区 | 一区二区视频在线免费观看 | 国产视频精选 | 黄av免费 | www.色的| 夜夜澡人模人人添人人看 | 色综合夜色一区 | 91香蕉国产在线观看软件 | 国产99久 | 久久99久久99免费视频 | 国产小视频在线观看免费 | 久久精品一区二区三区视频 | 麻豆精品传媒视频 | 一级欧美日韩 | av短片在线观看 | 夜夜爽天天爽 | 久久精品国亚洲 | 午夜视频色| 91成版人在线观看入口 | 欧美精品一二三 |