第一步:新建一個(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對應(yīng)的frame模型數(shù)據(jù)只加載一次)
注意:在使用自定義cell的時(shí)候,一定要記得重新設(shè)置cell上某些控件的狀態(tài),否則從重用池中取出的cell會(huì)保留加入緩存池時(shí)候的狀態(tài),因此,從重用池中取出cell的時(shí)候一定做兩件事:
第一件事:修改cell上的數(shù)據(jù)
第二件事:修改cell上自定義控件的狀態(tài)。