iOS自定義View控件調用系統方法的區別

一、load:加載類到內存,程序剛啓動的時候調用,調用在main函數以前(只會被調用一次)函數

 二、initialize:初始化類,類第一次使用的時候調用一次(只會被調用一次)佈局

 三、loadView:首先判斷控制器是否有視圖,沒有就調用該方法,設置控制器的根view,重寫該方法後,以該方法爲主,xib ,storyboard文件將再也不起做用。spa

 

 四、initWithCoder:這個解檔方法是當控件是從xib、storyboard中建立時,會調用這個方法。對象

五、awakeFromNib:加載xib完成時調用,這個方法是在initWithCoder:方法後調用,一開始通過initWithCoder建立出來的控件是死的,而後經過awakeFromNib來喚醒,因此這會有一個前後的調用順序:initWithCoder  -> awakeFromNib  -> viewDidLoad -> viewWillAppear-> initWithFrame 內存

 六、viewDidLoad:視圖加載完成it

 七、viewWillAppear:視圖將要出現class

八、initWithFrame:使用手碼建立控件時,通常咱們在該方法裏動態添加組件&設置自身的一些屬性。外界調用init方法,系統內部也會自動調用這個方法。程序

 

 四、layoutSubviews:方便數據計算,通常咱們在這個方法裏計算frame,這個方法裏是控件最後一次佈局子控件。方法

 五、drawRect:方便視圖重繪。layout

 六、initWithNibName:要加載的xib的類爲咱們定義的視圖控制器類。是延遲加載,這個View上的控件是 nil 的,只有到 須要顯示時,纔會不是nil。 

 七、loadNibName:即時加載,用該方法加載的xib對象中的各個元素都已經存在。

相關文章
相關標籤/搜索