1.首先進(jìn)行布局,不論是xib內(nèi)布局還是代碼自定義,一定要讓label的上下左右都有一定的約束,不然這個(gè)效果不會(huì)出現(xiàn),并且label的numLines 為0,可以換行,
上下左右都為15
2.然后就是tableView里面的設(shè)置了,首先自定義一個(gè)可變數(shù)組selectArray,記錄每個(gè)cell,自定義一個(gè)可變數(shù)組dataArray存儲(chǔ)數(shù)據(jù),我這里是利用for循環(huán)弄得數(shù)據(jù),如圖所示:
網(wǎng)絡(luò)獲取的一樣的原理,
3.定義是rowHeight
雖說(shuō)可以隨意設(shè)置,但是也要根據(jù)自己cell的內(nèi)容進(jìn)行一個(gè)預(yù)估高度,以便能夠讓它顯示完全
4.(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath中設(shè)置我們點(diǎn)擊顯示,再點(diǎn)擊收回的高度如圖:
其實(shí)這里設(shè)置rowHeight之后上面的那個(gè)就沒(méi)用了,但是也是不可缺少的
5.cell點(diǎn)擊事件中進(jìn)行設(shè)置,點(diǎn)擊顯示完全,再次點(diǎn)擊收回,這樣就實(shí)現(xiàn)整個(gè)功能了
這個(gè)跟select=!select的效果差不多
于是整個(gè)效果就這么完成了,具體整體效果如下圖: