基本認(rèn)識:
1.自定義一個控件就是一個簡單MVC邏輯.包含三個部分,Model(模型),View(試圖),Controller(控制器)
2.自定義控件有兩種方法,一種是純代碼編寫,另外一種是使用Xib.
三個部分各自作用
Model ? ? ? ?: 保存一個View的基本數(shù)據(jù)
View ? ? ? ? ?: View的試圖界面組成
Controller? : 創(chuàng)建Model,創(chuàng)建View,并且將Model的基本數(shù)據(jù)傳遞給View,初始化View的試圖內(nèi)容
Model里面應(yīng)該有的方法:
提供方法初始化一個模型,供View對象初始化使用
View里面應(yīng)該有的方法:
提供方法接收一個模型,初始化View對象的具體內(nèi)容
還有View對象的一些其他的方法
Controller里面應(yīng)該有的方法:
接收Model和View的頭文件,創(chuàng)建Model和View.創(chuàng)建View的時候使用Model的數(shù)據(jù)初始化View.
(Controller不需要關(guān)心具體如何實現(xiàn),只需要成功創(chuàng)建一個完整的View)
使用Xib的步驟:
1.通過Xib將需要創(chuàng)建的View(包括子控件)的尺寸與大小都設(shè)置好.
2.在Controller需要創(chuàng)建View的地方加載nib文件.
3.使用Model初始化View的具體內(nèi)容
注意點:
在Xib中通過可視化的試圖管理,設(shè)置好了子控件的尺寸與大小,所以在代碼實現(xiàn)中可以省略了layoutSubviews方法.
使用純代碼的方法:
1.定義模型屬性,定義子控件屬性,weak對象指向創(chuàng)建的對象,對象在聲明周期結(jié)束后沒有強引用會自用銷毀,所以,屬性要改為強引用
2.初始化View模板的尺寸大小,在initWithFrame方法中初始化
3.初始化子控件的尺寸大小,在layoutSubviews方法中實現(xiàn)
4.創(chuàng)建的View對象接收一個模型,初始化View對象的具體內(nèi)容
注意點:
要自定義Cell 創(chuàng)建的類要繼承UITableViewCell