Unity 實(shí)現(xiàn)可收縮的分組tableview

Low 爆的效果圖

該組件由 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分析

  1. CellNumberForSections 屬性意思為:每組配置多少cell;
  2. PrefabPathForSection 屬性意思為:組 header prefab 在 Resources 文件夾中的位置
  3. 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)指正

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 111. [動(dòng)畫系統(tǒng)]如何將其他類型的動(dòng)畫轉(zhuǎn)換成關(guān)鍵幀動(dòng)畫? 動(dòng)畫->點(diǎn)緩存->關(guān)鍵幀 112. [動(dòng)畫]Unit...
    胤醚貔貅閱讀 13,193評(píng)論 3 89
  • 概述在iOS開發(fā)中UITableView可以說(shuō)是使用最廣泛的控件,我們平時(shí)使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,089評(píng)論 3 38
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139
  • 1、特殊文件夾(unity doc : Special Folders) Unity工程根目錄下,有三個(gè)特殊文件夾...
    小飛不會(huì)飛_閱讀 6,411評(píng)論 2 27
  • 春秋季可謂是整形的“黃金季節(jié)”。很多人都在悄悄變美,在春秋開始驚艷。想要術(shù)后的效果如自己所設(shè)想的,那就一定要遵循醫(yī)...
    扁擔(dān)2017閱讀 253評(píng)論 0 0