UICollectionView基礎

UICollectionView

先方一波效果圖


屏幕快照 2016-06-27 下午8.26.31.png
  • UICollectionLayout
    UICollectionLayout布局類能扒,是一個抽象的類,用來管理item的大小和位置等布局信息操禀。
    UICollectionFlowLayout是UICollectionLayout子類,系統(tǒng)提供給我們封裝好的基礎瀑布流的布局類

代碼部分??

/** 創(chuàng)建布局類對象*/
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];

/** 設置item的大小 默認值:(50, 50)*/
    flowLayout.itemSize = CGSizeMake(100, 100);
    
    
    /** 設置滾動方向*/
    flowLayout.scrollDirection = UICollectionViewScrollDirectionVertical;
    
    /** 設置頭部視圖的大小*/
    flowLayout.headerReferenceSize = CGSizeMake(100, 50);
    
    /** 設置尾部視圖的大小*/
    flowLayout.footerReferenceSize = CGSizeMake(200, 100);
    
    /** 設置兩列之間間距的最小值*/
    // flowLayout.minimumInteritemSpacing = 100;
    
    /** 設置兩行之間間距的最小值*/
    flowLayout.minimumLineSpacing = 50;
    
    flowLayout.sectionInset = UIEdgeInsetsMake(20, 50, 50, 100);
    
// 先寫這個在寫UICollectionFlowLayout你就懂了??
// collectionView初始化方法的第二個參數(shù)就是上面說的布局類對象??
    /** 根據(jù)布局類對象蝌箍,創(chuàng)建conllectionView.*/
    UICollectionView *girlCollectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:flowLayout];
    [self.view addSubview:girlCollectionView];
    [flowLayout release];
    [girlCollectionView release];
    
    girlCollectionView.backgroundColor = [UIColor whiteColor];
    
//跟特么tableView的協(xié)議長得差不多??
//長這樣:<UICollectionViewDataSource, UICollectionViewDelegate>族吻。。姐浮。??
    /** 指定代理人*/
    girlCollectionView.delegate = self;
    girlCollectionView.dataSource = self;

    /** 注冊collectionView cell 的重用池*/
    [girlCollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
    
    /** 注冊collectionView 頭視圖的重用池*/
    [girlCollectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header"];
    
    /** 注冊collectionView 尾部視圖的重用池*/
    [girlCollectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"footer"];

以上就是創(chuàng)建UICollectionView的代碼??看著好像很多其實頭部跟尾部的重用池并不常用主要還是協(xié)議代理人不要忘了谷遂,以及一些布局類對象UICollectionFlowLayout的一些屬性,下面是協(xié)議方法卖鲤,協(xié)議方法也跟UITableView差不多肾扰,他倆共同繼承于UIScrollView類,很多人誤認為UICollectionView是UITabelView的兒子蛋逾,其實他是UIScrollView的兒子集晚,而UICollectionView和UITableView是兄妹關系,亂区匣。甩恼。。沉颂。關系
下面是協(xié)議方法的代碼部分??????

  • 首先是UICollectionViewDataSource的協(xié)議方法,他有兩個必須實現(xiàn)的"賣身契"

返回每個分區(qū)item的個數(shù)

/** 必須實現(xiàn)的兩個協(xié)議方法*/
/** 返回item的個數(shù)*/
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    
    return 50;
    
}

返回cell說白了就是給每個cell里邊加東西用的??

/** 返回cell*/
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
    
    cell.contentView.backgroundColor = [UIColor colorWithRed:arc4random() % 265 / 255.0 green:arc4random() % 265 / 255.0 blue:arc4random() % 265 / 255.0 alpha:0.5];
    
    return cell;
    
}
  • 非必須實現(xiàn)的賣身契??
    返回分區(qū)數(shù)
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
    
    return 5;
    
}

返回頭部視圖或者尾部視圖

-(UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {
    
    if (kind == UICollectionElementKindSectionHeader) {
        
        /** 從重用池當中取出頭部視圖*/
        UICollectionReusableView *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header" forIndexPath:indexPath];
        headerView.backgroundColor = [UIColor redColor];
        
        
        return headerView;
        
    } else {
        
        UICollectionReusableView *footerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"footer" forIndexPath:indexPath];
        footerView.backgroundColor = [UIColor orangeColor];
        
        return footerView;
        
    }
    
}
  • 還有個UICollectionViewDelegate協(xié)議方法??

就是item塊的點擊方法

/** 點擊item的協(xié)議方法*/
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
    
    NSLog(@"item: %ld", indexPath.row);
    
}

這一塊的方法就很重要了?? 他可以實現(xiàn)很多東西比如頁面跳轉是做項目是常用的方法

屏幕快照 2016-06-27 下午7.19.14.png

就像介個樣子??點一個電影進去就會進入詳情界面

OK,CollectionView就這么些東西了T梦邸V搿烧颖!

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末火的,一起剝皮案震驚了整個濱河市智听,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锌俱,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渴语,死亡現(xiàn)場離奇詭異福扬,居然都是意外死亡,警方通過查閱死者的電腦和手機间驮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門躬厌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人竞帽,你說我怎么就攤上這事扛施。” “怎么了屹篓?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵疙渣,是天一觀的道長。 經(jīng)常有香客問我堆巧,道長妄荔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任谍肤,我火速辦了婚禮啦租,結果婚禮上,老公的妹妹穿的比我還像新娘谣沸。我一直安慰自己刷钢,他們只是感情好,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布乳附。 她就那樣靜靜地躺著内地,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赋除。 梳的紋絲不亂的頭發(fā)上阱缓,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機與錄音举农,去河邊找鬼荆针。 笑死,一個胖子當著我的面吹牛颁糟,可吹牛的內(nèi)容都是我干的航背。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼棱貌,長吁一口氣:“原來是場噩夢啊……” “哼玖媚!你這毒婦竟也來了?” 一聲冷哼從身側響起婚脱,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤今魔,失蹤者是張志新(化名)和其女友劉穎勺像,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體错森,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡吟宦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了涩维。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殃姓。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖激挪,靈堂內(nèi)的尸體忽然破棺而出辰狡,到底是詐尸還是另有隱情,我是刑警寧澤垄分,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布宛篇,位于F島的核電站,受9級特大地震影響薄湿,放射性物質發(fā)生泄漏叫倍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一豺瘤、第九天 我趴在偏房一處隱蔽的房頂上張望吆倦。 院中可真熱鬧,春花似錦坐求、人聲如沸蚕泽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽须妻。三九已至,卻和暖如春泛领,著一層夾襖步出監(jiān)牢的瞬間荒吏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工渊鞋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绰更,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓锡宋,卻偏偏與公主長得像儡湾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子执俩,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容