通過(guò)代碼自定義cell(cell高度不一致)

第一步:新建一個(gè)繼承自UiTableViewCell的類。

第二步:先在新建的類中重寫初始化方法,把所有可能用到的控件都添加上去。(不需要設(shè)置子控件的數(shù)據(jù)和frame,子控件要添加到contentVIew中)

第三步:在類中添加模型屬性。

在這一步可以順便同時(shí)把控件中一些不會(huì)改變的屬性設(shè)置上,比如:字體和固定的圖片 。

第四步:提供兩個(gè)模型:

數(shù)據(jù)模型:存放文字?jǐn)?shù)據(jù)\圖片數(shù)據(jù)

Frame模型:數(shù)據(jù)模型和所有子控件的Frame和每個(gè)cell所占的高度。

第五步:每個(gè)cell擁有一個(gè)Frame模型(不要直接擁有數(shù)據(jù)模型)

第六步:重寫frame模型屬性的setter方法,在方法中設(shè)置給子控件添加數(shù)據(jù),并設(shè)置好Frame

第七步:Frame模型數(shù)據(jù)的初始化依然采用懶加載的方法(每一個(gè)cell對(duì)應(yīng)的frame模型數(shù)據(jù)只加載一次)

注意:在使用自定義cell的時(shí)候,一定要記得重新設(shè)置cell上某些控件的狀態(tài),否則從重用池中取出的cell會(huì)保留加入緩存池時(shí)候的狀態(tài),因此,從重用池中取出cell的時(shí)候一定做兩件事:

第一件事:修改cell上的數(shù)據(jù)

第二件事:修改cell上自定義控件的狀態(tài)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容