經過代碼自定義cell(cell的高度不一致,好比微博)

1.新建一個繼承自UITableViewCell的類數組

  

2.重寫initWithStyle:reuseIdentifier:方法字體

(先要調用父控件的nitWithStyle:reuseIdentifier:方法)spa

添加全部須要顯示的子控件(不須要設置子控件的數據和frame,  子控件要添加到contentView中)繼承

進行子控件一次性的屬性設置(有些屬性只須要設置一次, 好比字體\固定的圖片)圖片

  

3.提供2個模型get

數據模型: 存放文字數據\圖片數據it

frame模型: 存放數據模型\全部子控件的frame\cell的高度io

 

 4.cell擁有一個frame模型(不要直接擁有數據模型)方法

  

5.重寫cell類frame模型屬性的setter方法: 在這個方法中設置 子控件的顯示數據frame數據

(爲frame模型屬性賦值時,會拿到frame模型中的值,在這時,將這些值賦給子控件)

6.重寫數據模型類數據模型屬性的setter方法:在這個方法中計算出模型數據對應的frame

(爲數據模型屬性賦值時,會拿到數據模型中的值,在這時,計算出模型數據對應的frame)

 

6.控制器中,frame模型數據 的初始化已經採起懶加載的方式(每個cell對應的frame模型數據只加載一次),即:在getter方法中加載,若是模型數據爲nil,就加載,將整個plist轉爲模型組成的數組存起來了。

相關文章
相關標籤/搜索