复习知识点:UITableView和UICollectionView的常用属性
UITableView
UICollectionView
?//UICollectionViewLayout
? ? //UICollectionViewLayout決定了UICollectionView如何顯示在界面上,Apple提供了一個(gè)最簡單的默認(rèn)layout對(duì)象:UICollectionViewFlowLayout。
? ? //Flow Layout是一個(gè)Cells的線性布局方案,并具有頁面和頁腳。其可定制的內(nèi)容如下:
? ? //itemSize屬性
? ? //設(shè)定全局的Cell尺寸,如果想要單獨(dú)定義某個(gè)Cell的尺寸,可以使用下面方法:
? ? - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
?? ?
? ? //minimumLineSpacing屬性
? ? //設(shè)定全局的行間距,如果想要設(shè)定指定區(qū)內(nèi)Cell的最小行距,可以使用下面方法:
?? ?
? ? - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section;
?? ?
? ? //minimumInteritemSpacing屬性
? ? //設(shè)定全局的Cell間距,如果想要設(shè)定指定區(qū)內(nèi)Cell的最小間距,可以使用下面方法:
? ? - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section;
?
? ? //scrollDirection屬性
? ? //設(shè)定滾動(dòng)方向,有UICollectionViewScrollDirectionVertical和UICollectionViewScrollDirectionHorizontal兩個(gè)值。
? ? //headerReferenceSize屬性與footerReferenceSize屬性
? ? //設(shè)定頁眉和頁腳的全局尺寸,需要注意的是,根據(jù)滾動(dòng)方向不同,header和footer的width和height中只有一個(gè)會(huì)起作用。如果要單獨(dú)設(shè)置指定區(qū)內(nèi)的頁面和頁腳尺寸,可以使用下面方法:
? ? - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section;
?? ?
? ? - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section;
?? ?
? ? //sectionInset屬性
? ? //設(shè)定全局的區(qū)內(nèi)邊距,如果想要設(shè)定指定區(qū)的內(nèi)邊距,可以使用下面方法:
? ? - (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section;
?? ?
? ? //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
?
? ? //UICollectionViewDataSource
? ? //返回collection view里區(qū)(section)的個(gè)數(shù),如果沒有實(shí)現(xiàn)該方法,將默認(rèn)返回1:
? ? - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
?? ?
? ? //返回指定區(qū)(section)包含的數(shù)據(jù)源條目數(shù)(number of items),該方法必須實(shí)現(xiàn):
? ? - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
?
? ? //返回某個(gè)indexPath對(duì)應(yīng)的cell,該方法必須實(shí)現(xiàn):
? ? - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
? ? {
? ? ? ? UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"myCell" forIndexPath:indexPath];
? ? ? ? if(indexPath.section==0)
? ? ? ? {
? ? ? ? ? ? cell.backgroundColor = [UIColor redColor];
? ? ? ? }
? ? ? ? else if(indexPath.section==1)
? ? ? ? {
? ? ? ? ? ? cell.backgroundColor = [UIColor greenColor];
? ? ? ? }
? ? ? ? return cell;
? ? }
?? ?
? ? //UICollectionViewCell結(jié)構(gòu)上相對(duì)比較簡單,由下至上:
? ? //
? ? //首先是cell本身作為容器view
? ? //然后是一個(gè)大小自動(dòng)適應(yīng)整個(gè)cell的backgroundView,用作cell平時(shí)的背景
? ? //再其次是selectedBackgroundView,是cell被選中時(shí)的背景
? ? //最后是一個(gè)contentView,自定義內(nèi)容應(yīng)被加在這個(gè)view上
? ? //為collection view添加一個(gè)補(bǔ)充視圖(頁眉或頁腳)
? ? - (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
?? ?
? ? //設(shè)定頁眉的尺寸
? ? - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
?? ?
? ? //設(shè)定頁腳的尺寸
? ? - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section
?? ?
? ? //添加頁眉和頁腳以前需要注冊類和標(biāo)識(shí):
? ? - (void)registerClass:(Class)viewClass forSupplementaryViewOfKind:(NSString *)elementKind withReuseIdentifier:(NSString *)identifier
?
? ? //設(shè)定指定區(qū)內(nèi)Cell的最小行距,也可以直接設(shè)置UICollectionViewFlowLayout的minimumLineSpacing屬性
? ? - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
?? ?
? ? //設(shè)定指定區(qū)內(nèi)Cell的最小間距,也可以直接設(shè)置UICollectionViewFlowLayout的minimumInteritemSpacing屬性
? ? - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section;
?? ?
? ? //UICollectionViewDelegate
? ? //當(dāng)指定indexPath處的item被選擇時(shí)觸發(fā)
? ? - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
?
? ? //P.s. 當(dāng)你刪除或添加元素時(shí),一定要更新numberOfItemsInSection的返回情況。
? ? //當(dāng)指定indexPath處的item被取消選擇時(shí)觸發(fā),僅在允許多選時(shí)被調(diào)用
? ? - (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath
?
? ? //下面是三個(gè)和高亮有關(guān)的方法:
? ? //事件的處理順序如下:
? ? //
? ? //手指按下
? ? //shouldHighlightItemAtIndexPath (如果返回YES則向下執(zhí)行,否則執(zhí)行到這里為止)
? ? //didHighlightItemAtIndexPath (高亮)
? ? //手指松開
? ? //didUnhighlightItemAtIndexPath (取消高亮)
? ? //shouldSelectItemAtIndexPath (如果返回YES則向下執(zhí)行,否則執(zhí)行到這里為止)
? ? //didSelectItemAtIndexPath (執(zhí)行選擇事件)
? ? //如果只是簡單實(shí)現(xiàn)點(diǎn)擊后cell改變顯示狀態(tài),只需要在cellForItemAtIndexPath方法里返回cell時(shí),指定cell的selectedBackgroundView
? ? - (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath
? ? - (void)collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath
? ? - (void)collectionView:(UICollectionView *)collectionView didUnhighlightItemAtIndexPath:(NSIndexPath *)indexPath
?
轉(zhuǎn)載于:https://www.cnblogs.com/crazygeek/p/5537898.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的复习知识点:UITableView和UICollectionView的常用属性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript基本函数
- 下一篇: jeDate日期控件 时间最大值最小值禁