iOS自訂View控制項調用系統方法的區別

來源:互聯網
上載者:User

標籤:apple   rgba   的區別   ack   自動   也會   方便   添加   nil   

1、load:載入類到記憶體,程式剛啟動的時候調用,調用在main函數之前(只會被調用一次)

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

 3、loadView:首先判斷控制器是否有視圖,沒有就調用該方法,設定控制器的根view,重寫該方法後,以該方法為主,xib ,storyboard檔案將不再起作用。

 

 4、initWithCoder:這個解檔方法是當控制項是從xib、storyboard中建立時,會調用這個方法。

5、awakeFromNib:載入xib完成時調用,這個方法是在initWithCoder:方法後調用,一開始經過initWithCoder建立出來的控制項是死的,然後通過awakeFromNib來喚醒,所以這會有一個先後的調用順序:initWithCoder  -> awakeFromNib  -> viewDidLoad -> viewWillAppear-> initWithFrame 

 6、viewDidLoad:視圖載入完成

 7、viewWillAppear:視圖將要出現

8、initWithFrame:使用手碼建立控制項時,一般我們在該方法裡動態添加組件&設定自身的一些屬性。外界調用init方法,系統內部也會自動調用這個方法。

 

 4、layoutSubviews:方便資料計算,一般我們在這個方法裡計算frame,這個方法裡是控制項最後一次布局子控制項。

 5、drawRect:方便視圖重繪。

 6、initWithNibName:要載入的xib的類為我們定義的視圖控制器類。是消極式載入,這個View上的控制項是 nil 的,只有到 需要顯示時,才會不是nil。 

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

iOS自訂View控制項調用系統方法的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.