IPhone 之 UIView的一些基本方法理解

2021-06-07 08:45:01 字數 1716 閱讀 8127

init:方法

在init方法中例項化必要的物件(遵從lazyload思想)

init方法中初始化viewcontroller本身

loadview:方法

這是當沒有正在使用nib檢視頁面,子類將會建立自己的自定義檢視層。絕不能直接呼叫。

如果手工維護views,必須過載重寫該方法。

當view需要被展示而它卻是nil時,viewcontroller會呼叫該方法。

loadview和ib構建view

你在控制器中實現了loadview方法,那麼你可能會在應用執行的某個時候被記憶體管理控制呼叫。 如果裝置記憶體不足的時候, view 控制器會收到didreceivememorywarning的訊息。 預設的實現是檢查當前控制器的view是否在使用。 如果它的view不在當前正在使用的view hierarchy裡面,且你的控制器實現了loadview方法,那麼這個view將被release, loadview方法將被再次呼叫來建立乙個新的view。

viewdidload:方法

在檢視載入後被呼叫:

如果是在**中建立的檢視載入器,他將會在loadview方法後被呼叫;

如果是從nib檢視頁面輸出,他將會在檢視設定好後後被呼叫。

過載重寫該方法以進一步定製view

在iphone os 3.0及之後的版本中,還應該過載重寫viewdidunload來釋放對view的任何索引

viewdidload後呼叫資料model

viewdidunload:方法

當系統記憶體吃緊的時候會呼叫該方法(注:viewcontroller沒有被dealloc)

記憶體吃緊時,在iphone os 3.0之前didreceivememorywarning是釋放無用記憶體的唯一方式,但是os 3.0及以後viewdidunload方法是更好的方式

在該方法中將所有iboutlet(無論是property還是例項變數)置為nil(系統release view時已經將其release掉了)

在該方法中釋放其他與view有關的物件、其他在執行時建立(但非系統必須)的物件、在viewdidload中被建立的物件、快取資料等 release物件後,將物件置為nil(iboutlet只需要將其置為nil,系統release view時已經將其release掉了)

一般認為viewdidunload是viewdidload的映象,因為當view被重新請求時,viewdidload還會重新被執行

viewdidunload中被release的物件必須是很容易被重新建立的物件(比如在viewdidload或其他方法中建立的物件),不要release使用者資料或其他很難被重新建立的物件

dealloc:方法

viewdidunload和dealloc方法沒有關聯,dealloc還是繼續做它該做的事情

方法

called when the view is about to made visible. default does nothing

檢視即將可見時呼叫。預設情況下不執行任何操作

IPhone之UIView中動畫

areanimationsenabled 返回乙個布林值表示動畫是否結束。bool areanimationsenabled 返回值如果動畫結束返回yes,否則no。beginanimations context 開始乙個動畫塊 void beginanimations nsstring anima...

Iphone開發之UIView中的動畫屬性

返回乙個布林值表示動畫是否結束。bool areanimationsenabled 返回值如果動畫結束返回yes,否則no。beginanimations context layerclass 返回類用來建立這乙個本類的layer例項物件。class layerclass 返回值乙個用來建立檢視la...

Iphone開發之UIView中的動畫屬性

返回乙個布林值表示動畫是否結束。bool areanimationsenabled 返回值如果動畫結束返回yes,否則no。beginanimations context layerclass 返回類用來建立這乙個本類的layer例項物件。class layerclass 返回值乙個用來建立檢視la...