該組件由 NGUI example9 改編而成;源代碼已經(jīng)上傳至GitHub
該教程主要做簡(jiǎn)要分析,因?yàn)樵摻M件確實(shí)很簡(jiǎn)單,所以想負(fù)責(zé)也沒法復(fù)雜。
功能:
根據(jù)配置的分組組數(shù)、每組cell的個(gè)數(shù),動(dòng)態(tài)生成滾動(dòng)試圖;點(diǎn)擊圖中紅色標(biāo)注的圖片(請(qǐng)吐槽我找的圖標(biāo)太丑,點(diǎn)擊它可以轉(zhuǎn)動(dòng)哦),可以收放當(dāng)前組的cell。
腳本ShrinkGroupTableView分析
- CellNumberForSections 屬性意思為:每組配置多少cell;
- PrefabPathForSection 屬性意思為:組 header prefab 在 Resources 文件夾中的位置
- PrefabPathForCell 屬性意思為:每組 cell prefab 在Resources 文件夾中的位置
當(dāng)你設(shè)置完成這些參數(shù)時(shí),運(yùn)行程序就可以生成你想要的 可收縮分組tableview。
簡(jiǎn)要講解下注意事項(xiàng):
我實(shí)例化預(yù)制體所采取的方法為:
NGUITools.AddChild(parent,prefab);
為什么沒有采用 Instantiate(prefab,position,rotation)
呢? 因?yàn)檫@樣干,生成的tableview位置不對(duì)啊!為什么?我也不知道~~
猜想:tableView , grid ,NGUITools.AddChild 這一套方法都是NGUI的,可能做了內(nèi)部處理;而Instantiate是GUI的,自己沒控制好。
好了,按著源代碼操作,就可以得到你想要的效果。當(dāng)然,可以在腳本中為cell綁定事件、添加現(xiàn)實(shí)數(shù)據(jù)。
想探索詳情,請(qǐng)下載源碼,有請(qǐng)幫我設(shè)計(jì)更好的代碼。
潛水簡(jiǎn)書很長(zhǎng)時(shí)間了,一直沒有分享技術(shù)、或是值得分享的東西,感覺無(wú)法何處開始。直到看了《自創(chuàng)四維》中的一句話 “人生永遠(yuǎn)都是測(cè)試版”;我才幡然醒悟,那我也試著寫寫自己所做的beta吧。
內(nèi)容如有不足之處,請(qǐng)指正