資料介紹
軟件簡介
ZLCollectionview 為應(yīng)對類似淘寶首頁,京東首頁,國美首頁等復(fù)雜布局而寫?;赨ICollectionView實現(xiàn),目前支持標(biāo)簽布局,列布局,百分比布局,定位布局,填充式布局,瀑布流布局等。支持縱向布局和橫向布局,可以根據(jù)不同的 section 設(shè)置不同的布局,支持拖動cell,頭部懸浮,設(shè)置section背景色和自定義section背景view,向自定義背景view傳遞自定義方法。實現(xiàn)了電影選座等高難度的布局。
?
導(dǎo)入
支持cocoapod導(dǎo)入,最新版本 1.4.4
pod 'ZLCollectionViewFlowLayout'
注意事項:
版本1.0開始加入了橫向布局,有升級到1.0的,原來的類ZLCollectionViewFlowLayout提示找不到,請更換成ZLCollectionViewVerticalLayout即可,其余不變。如果不想升級可用 pod 'ZLCollectionViewFlowLayout','0.8.7.1'
- ZLCollectionViewVerticalLayout ==== 縱向布局
- ZLCollectionViewHorzontalLayout ==== 橫向布局(暫時先做了標(biāo)簽頁布局和瀑布流,其余的后續(xù)增加)
如果遇到以下錯誤, Unable to find a specification for?ZLCollectionViewFlowLayout?請使用pod update命令來安裝。
參數(shù)列表
| 可配置參數(shù) | 類型 | 作用 |
|---|---|---|
| isFloor | BOOL | 寬度是否向下取整,默認(rèn)為YES,該參數(shù)一般不用改 |
| canDrag | BOOL | 是否允許拖動cell,默認(rèn)為NO |
| header_suspension | BOOL | 頭部是否懸浮,默認(rèn)為NO |
| layoutType | ZLLayoutType | 設(shè)置布局類型,適用于只有單一布局可省去寫代理的代碼 |
| columnCount | columnCount | 在列布局中設(shè)置列數(shù),適用于單一布局可省去寫代理的代碼 |
| fixTop | CGFloat | header距離頂部的距離 |
| 布局名稱 | 布局類型 | 作用 |
|---|---|---|
| LabelLayout | 標(biāo)簽頁布局 | ? |
| ColumnLayout | 列布局 | 瀑布流,單行布局,等分布局 |
| PercentLayout | 百分比布局 | ? |
| FillLayout | 填充式布局 | ? |
| AbsoluteLayout | 絕對定位布局 | ? |
用法
//在UICollectionView創(chuàng)建之前加入ZLCollectionViewFlowLayout - (UICollectionView*)collectionViewLabel { if (!_collectionViewLabel) { ZLCollectionViewFlowLayout *flowLayout = [[ZLCollectionViewFlowLayout alloc] init]; flowLayout.delegate = self; _collectionViewLabel = [[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:flowLayout]; _collectionViewLabel.dataSource = self; _collectionViewLabel.delegate = self; _collectionViewLabel.backgroundColor = [UIColor whiteColor]; [_collectionViewLabel registerClass:[SEMyRecordLabelCell class] forCellWithReuseIdentifier:[SEMyRecordLabelCell cellIdentifier]]; [_collectionViewLabel registerClass:[SEMyRecordHeaderView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:[SEMyRecordHeaderView headerViewIdentifier]]; } return _collectionViewLabel; } //實現(xiàn)代理,如果不實現(xiàn)也可以自己直接設(shè)置self.sectionInset,self.minimumLineSpacing,self.minimumInteritemSpacing。但是這種設(shè)置不支持不同section不同數(shù)值 //指定section用的樣式。LabelLayout是標(biāo)簽樣式,ClosedLayout用于tableviewcell或者瀑布流,九宮格之類的。 - (ZLLayoutType)collectionView:(UICollectionView *)collectionView layout:(ZLCollectionViewFlowLayout *)collectionViewLayout typeOfLayout:(NSInteger)section { switch (section) { case 0: return LabelLayout; case 1: case 2: return FillLayout; case 3: case 4: return AbsoluteLayout; case 5: case 6: return PercentLayout; default: return ClosedLayout; } } //如果是ClosedLayout樣式的section,必須實現(xiàn)該代理,指定列數(shù) - (NSInteger)collectionView:(UICollectionView *)collectionView layout:(ZLCollectionViewFlowLayout*)collectionViewLayout columnCountOfSection:(NSInteger)section { switch (section) { case 7: return 4; case 8: return 2; case 9: return 1; default: return 0; } } //如果是百分比布局必須實現(xiàn)該代理,設(shè)置每個item的百分比,如果沒實現(xiàn)默認(rèn)比例為1 - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(ZLCollectionViewFlowLayout*)collectionViewLayout percentOfRow:(NSIndexPath*)indexPath; { switch (indexPath.section) { case 5: { switch (indexPath.item) { case 0: return 1.0/3; case 1: return 2.0/3; case 2: return 1.0/3; case 3: return 1.0/3; case 4: return 1.0/3; case 5: return 1.0/4; case 6: return 1.0/4; case 7: return 1.0/2; case 8: return 3.0/5; case 9: return 2.0/5; default: break; } } case 6: { if (indexPath.item % 2==0) { return 3.0/4; } else { return 1.0/4; } } default: return 1; } } //如果是絕對定位布局必須是否該代理,設(shè)置每個item的frame - (CGRect)collectionView:(UICollectionView *)collectionView layout:(ZLCollectionViewFlowLayout*)collectionViewLayout rectOfItem:(NSIndexPath*)indexPath { switch (indexPath.section) { case 3: { CGFloat width = (collectionView.frame.size.width-200)/2; CGFloat height = width; switch (indexPath.item) { case 0: return CGRectMake(0, 0, width, height); case 1: return CGRectMake(width, 0, width, height); case 2: return CGRectMake(0, height, width, height); case 3: return CGRectMake(width, height, width, height); case 4: return CGRectMake(width/2, height/2, width, height); default: return CGRectZero; } } break; case 4: { switch (indexPath.item) { case 0: return CGRectMake((collectionView.frame.size.width-20)/2-100, 0, 200, 30); default: { NSInteger column = (collectionView.frame.size.width-20)/30; return CGRectMake(((indexPath.item-1)%column)*30, 100+((indexPath.item-1)/column)*30, 20, 20); } } } break; default: return CGRectZero; } return CGRectZero; }
?
- labview超快自定義控件制作和普通自定義控件制作 14次下載
- labview自定義控件 22次下載
- 自定義視圖組件教程案例 15次下載
- Labview自定義右鍵快捷菜單功能實用小技巧 27次下載
- 精美的TF自定義控件源文件合集 32次下載
- 串口屏LUA教程10-自定義串口指令
- Xilinx基本自定義OpenRISC系統(tǒng)硬件教程 93次下載
- 如何在LabVIEW中實現(xiàn)自定義控件 50次下載
- LCD1602自定義顯示字符及漢字 85次下載
- PDH網(wǎng)管盤 自定義字節(jié) 0次下載
- JAVA教程之自定義光標(biāo) 7次下載
- DOS下自定義時間重啟 6次下載
- 1602自定義字符 1次下載
- 自定義函數(shù)測試學(xué)習(xí)工程
- matlab自定義函數(shù)調(diào)用的方法
- HarmonyOS應(yīng)用自定義鍵盤解決方案 2.1k次閱讀
- 如何添加自定義單板 1.2k次閱讀
- 如何快速創(chuàng)建用戶自定義Board和App工程 1.1k次閱讀
- TSMaster 自定義 LIN 調(diào)度表編程指導(dǎo) 2k次閱讀
- 基于YOLOv8實現(xiàn)自定義姿態(tài)評估模型訓(xùn)練 5.6k次閱讀
- 博途用戶自定義庫的使用 2.6k次閱讀
- 添加自定義屬性控制fridaserver啟動和停止 2.8k次閱讀
- 什么是自定義序列 2k次閱讀
- 自定義特性能做什么? 1.5k次閱讀
- 如何自定義函數(shù)或局部腳本 2.3k次閱讀
- 如何在Vivado中更改自定義的Interface 3.9k次閱讀
- 三種自定義彈窗UI組件封裝的實現(xiàn) 4.4k次閱讀
- 如何給EOS賬號設(shè)置自定義權(quán)限 1.9k次閱讀
- erlang如何自定義_ERLANG環(huán)境搭建 1.8k次閱讀
- LCD1602自定義點陣字符詳解 1.4w次閱讀
下載排行
本周
- 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費
- 4MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費
- 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環(huán)繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 8MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
- 0.60 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊
- 1.81 MB | 1次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論