FlowLayout布局_UICollectionViewFlowLayout

有關(guān)UICollectionViewFlowLout的最經(jīng)典例子,莫過(guò)于瀑布流的布局:

對(duì)于UICollectionView的處理都比較簡(jiǎn)單邦投,眾所周知的各種炫酷的效果凉蜂,對(duì)于CollectionView功不可沒(méi)秀存,下面就以自己所理解的來(lái)淺聊一下它;

重點(diǎn)分為2種情況撕蔼,根據(jù)本人做過(guò)的效果:

第一種情況:類(lèi)似瀑布流的布局踏施,核心就在下面的2個(gè)系統(tǒng)方法中:

-(void)prepareLayout{

}

解釋下這個(gè)方法:這個(gè)方法只要FlowLayout的布局發(fā)生變化石蔗,就會(huì)調(diào)用,常用來(lái)設(shè)置如:

大部分cell的frame屬性等畅形。

注意:其中的CollectionView的contentSize是根據(jù)itemSize動(dòng)態(tài)計(jì)算出來(lái)的养距,不能寫(xiě)死


// 當(dāng)出現(xiàn)當(dāng)前的布局對(duì)象時(shí),返回當(dāng)前的以及之前的所有屬性數(shù)組日熬,(注意:一旦計(jì)算完畢棍厌,所有的屬性會(huì)被緩存,不會(huì)再被計(jì)算)

-(NSArray*)layoutAttributesForElementsInRect:(CGRect)rect {

return self.layoutAttributesArray;

}

以上2個(gè)方法用來(lái)布局瀑布流的情況所用:code詳見(jiàn)地址:https://github.com/zxwIsCode/WaterFull-


第二種情況為:如蘋(píng)果iOS9之后的手機(jī)相冊(cè)的效果:

處理它的一些方法為:常用為以下3個(gè):

1.是否支持手動(dòng)改變布局

- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)oldBounds

{

return YES;

}

2.同上一種情況的設(shè)計(jì)

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect{

}

3.處理item之間滑動(dòng)的動(dòng)畫(huà)(控制Frame的變化)

- (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset withScrollingVelocity:(CGPoint)velocity {

}

code后續(xù)會(huì)給出地址:

二者的區(qū)別點(diǎn)在于:

當(dāng)界面的設(shè)計(jì)如瀑布流特點(diǎn):所有的frame都不是太固定竖席,需要當(dāng)前的frame依靠上一個(gè)item的frame設(shè)計(jì)時(shí)耘纱,采用第一種情況,

當(dāng)界面中如蘋(píng)果相冊(cè)的只有最中間的frame需要特殊處理毕荐,如尺寸放大縮小束析,位置發(fā)生變化等,需要采用第二種情況設(shè)計(jì)

綜上為對(duì)UICollectionViewFlowLayout的理解與使用

附上大牛參考資料:

http://www.reibang.com/p/40868928a1cf

http://www.reibang.com/p/83f2d6ac7e68

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末憎亚,一起剝皮案震驚了整個(gè)濱河市员寇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌第美,老刑警劉巖蝶锋,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異什往,居然都是意外死亡扳缕,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)别威,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)躯舔,“玉大人,你說(shuō)我怎么就攤上這事省古≈嘧” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵衫樊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我利花,道長(zhǎng)科侈,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任炒事,我火速辦了婚禮臀栈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挠乳。我一直安慰自己权薯,他們只是感情好姑躲,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著盟蚣,像睡著了一般黍析。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屎开,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天阐枣,我揣著相機(jī)與錄音,去河邊找鬼奄抽。 笑死蔼两,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逞度。 我是一名探鬼主播额划,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼档泽!你這毒婦竟也來(lái)了俊戳?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤茁瘦,失蹤者是張志新(化名)和其女友劉穎品抽,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體甜熔,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡圆恤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腔稀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盆昙。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖焊虏,靈堂內(nèi)的尸體忽然破棺而出淡喜,到底是詐尸還是另有隱情,我是刑警寧澤诵闭,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布炼团,位于F島的核電站,受9級(jí)特大地震影響疏尿,放射性物質(zhì)發(fā)生泄漏瘟芝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一褥琐、第九天 我趴在偏房一處隱蔽的房頂上張望锌俱。 院中可真熱鬧,春花似錦敌呈、人聲如沸贸宏。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吭练。三九已至诫龙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間线脚,已是汗流浹背赐稽。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浑侥,地道東北人姊舵。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像寓落,于是被迫代替她去往敵國(guó)和親括丁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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