色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>ZLCollectionView iOS APP自定義布局

ZLCollectionView iOS APP自定義布局

2022-06-23 | zip | 2.41 MB | 次下載 | 免費

資料介紹

授權協議 mit
開發語言 Objective-C
軟件類型 開源軟件

軟件簡介

ZLCollectionview 為應對類似淘寶首頁,京東首頁,國美首頁等復雜布局而寫。基于UICollectionView實現,目前支持標簽布局,列布局,百分比布局,定位布局,填充式布局,瀑布流布局等。支持縱向布局和橫向布局,可以根據不同的 section 設置不同的布局,支持拖動cell,頭部懸浮,設置section背景色和自定義section背景view,向自定義背景view傳遞自定義方法。實現了電影選座等高難度的布局。

?

導入

支持cocoapod導入,最新版本 1.4.4

pod 'ZLCollectionViewFlowLayout' 

注意事項:

版本1.0開始加入了橫向布局,有升級到1.0的,原來的類ZLCollectionViewFlowLayout提示找不到,請更換成ZLCollectionViewVerticalLayout即可,其余不變。如果不想升級可用 pod 'ZLCollectionViewFlowLayout','0.8.7.1'

  • ZLCollectionViewVerticalLayout ==== 縱向布局
  • ZLCollectionViewHorzontalLayout ==== 橫向布局(暫時先做了標簽頁布局和瀑布流,其余的后續增加)

如果遇到以下錯誤, Unable to find a specification for?ZLCollectionViewFlowLayout?請使用pod update命令來安裝。

參數列表

可配置參數 類型 作用
isFloor BOOL 寬度是否向下取整,默認為YES,該參數一般不用改
canDrag BOOL 是否允許拖動cell,默認為NO
header_suspension BOOL 頭部是否懸浮,默認為NO
layoutType ZLLayoutType 設置布局類型,適用于只有單一布局可省去寫代理的代碼
columnCount columnCount 在列布局中設置列數,適用于單一布局可省去寫代理的代碼
fixTop CGFloat header距離頂部的距離
布局名稱 布局類型 作用
LabelLayout 標簽頁布局 ?
ColumnLayout 列布局 瀑布流,單行布局,等分布局
PercentLayout 百分比布局 ?
FillLayout 填充式布局 ?
AbsoluteLayout 絕對定位布局 ?

用法

//在UICollectionView創建之前加入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;
}

//實現代理,如果不實現也可以自己直接設置self.sectionInset,self.minimumLineSpacing,self.minimumInteritemSpacing。但是這種設置不支持不同section不同數值

//指定section用的樣式。LabelLayout是標簽樣式,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,必須實現該代理,指定列數
- (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;
    }
}
//如果是百分比布局必須實現該代理,設置每個item的百分比,如果沒實現默認比例為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;
    }
}
//如果是絕對定位布局必須是否該代理,設置每個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;
}

?

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 蜜柚视频在线观看全集免费观看 | 处女座历史名人| 亚洲精品久久7777777| 色欲天天天综合网免费| 日本另类z0zxhd| 女性爽爽影院免费观看| 美女伊人网| 蜜桃视频一区二区| 免费在线看视频| 欧美精品九九99久久在免费线| 美女张开让男生桶| 男插女高潮一区二区| 男人吃奶摸下挵进去啪啪| 美女议员被泄裸照| 欧美日韩视频高清一区| 秋霞电影院兔费理论观频84mb | 亚洲久久少妇中文字幕| 亚洲精品视频久久| 野花日本高清在线观看免费吗| 亚洲日韩中文字幕区| 一本色道久久综合亚洲AV蜜桃 | 久久精品国产亚洲AV天美18| 精品人妻无码一区二区三区蜜桃臀| 狠狠色综合7777久夜色撩人| 黑人猛挺进小莹的体内视频| 久久91精品国产91久久户| 久久频这里精品99香蕉久网址| 老师真棒无遮瑕版漫画免费| 免费果冻传媒2021在线看| 啪啪激情婷婷久久婷婷色五月| 日产精品高潮呻吟AV久久| 甜性涩爱下载| 亚洲精品视频在线免费| 在线播放毛片| jizz日本美女| 国产精品99久久久久久动态图| 国产偷抇久久精品A片蜜臀AV| 九九黄色大片| 男男高h浪荡受h| 四虎国产一区| 一本色道久久88加勒比—综合|