先看一下效果圖沉眶!
最近項(xiàng)目中遇到多層級(jí)Cell 展開的功能谎倔,于是就把這些總結(jié)了一下,代碼詳見Demo片习,這里寫了兩種TableView:
TableView1: 適合兩級(jí)的情況藕咏,用的是模型驅(qū)動(dòng)UI,即通過(guò)修改模型中的isExpand(代表 展開 \ 收起)屬性來(lái)達(dá)到Cell 展開 \ 收起 效果孽查。
優(yōu)點(diǎn):比較容易實(shí)現(xiàn),邏輯簡(jiǎn)單铺坞。
缺點(diǎn):不適合多級(jí)菜單济榨。
TableView2: 適合多級(jí)菜單展開 \ 收起,比如:書籍目錄或地區(qū)選擇等擒滑,使用的也是模型驅(qū)動(dòng)UI丐一。
需要注意的是: 其中用到遞歸解析模型。
如下圖(一):模型字段)
圖(二):detailArray 中是下一層數(shù)據(jù)的集合
實(shí)現(xiàn)過(guò)程我遇到了兩個(gè)問(wèn)題(大牛請(qǐng)自動(dòng)跳過(guò)):
一、如何遞歸解析模型
- 這里借助了MJExtension
- 這樣處理就行了柠衍,如圖
二珍坊、如何給模型中加入level字段:
-
這里主要說(shuō)一下這個(gè)level 的用處: level 表示模型所在的層級(jí)阵漏,在UI上的用處就是用來(lái)計(jì)算縮進(jìn)距離,見圖(三)履怯。
該項(xiàng)目會(huì)收集一些非常實(shí)用的問(wèn)題疹味,且都是我自己親自實(shí)踐后再會(huì)上傳帜篇,如果大家在用的過(guò)程中有什么問(wèn)題或建議,請(qǐng)?jiān)谙路皆u(píng)論區(qū)提出洪灯!
接下來(lái)會(huì)上傳騰訊新聞頁(yè)的模塊竟痰,敬請(qǐng)關(guān)注掏呼!