1:原文摘自:
iphone開發點滴是本文要介紹的內容,主要介紹的是iphone開發中常用的一些小例項,在這作為乙個小備忘來學習。先來看詳細內容。
iphone中的拉伸/圓角處理(image round corner, aspect fit)
圓角 image round corner:
m_mainim**iew.layer.cornerradius= 6; m_mainim**iew.layer.maskstobounds
= yes
; 自動適應,保持寬高比 aspect fit:
m_mainim**iew.contentmode= uiviewcontentmodescaleaspectfit
;拉伸 iphone
uiimage *btnimage
= [uiimage imagenamed:@"btn_normal"];
cgfloat
capwidth
= btnimage
.size.width / 2;
cgfloat
capheight
= btnimage
.size.height / 2;
btnimage
= [btnimage stretchableimagewithleftcapwidth:capwidth topcapheight:capheight];
型別轉換將nsstring 轉 nsdata
nsstring*str= @"teststring";nsdata*
data
=[str datausingencoding:nsutf8stringencoding];
由init、loadview、viewdidload、viewdidunload、dealloc的關係說起
init方法
在init方法中例項化必要的物件(遵從lazyload思想)
init方法中初始化viewcontroller本身
loadview方法
當view需要被展示而它卻是nil時,viewcontroller會呼叫該方法。不要直接呼叫該方法。
如果手工維護views,必須過載重寫該方 法
如果使用ib維護views,必須不能重載重 寫該方法
loadview和ib構建view
viewdidload方法
過載重寫該方法以進一步定製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還是繼續做它該做的事情
舉例: lyttzx.com
- (void)viewdidunload[super dealloc];
} 預設release view的方法是didreceivememorywarning,這個方法會檢測能否安全的release這個控制器的view,如果可以安全 release view的時候,releae之,然後才會去呼叫viewdidunload。
如果當前顯示的控制器收到了memory warning,呼叫didreceivememorywarning,但這時並不能release 當前控制器的view,所以就不會呼叫viewdidunload了。
小結:iphone應用開發點滴學習的內容介紹完了,希望通過本文的學習對你有所幫助,你也可以作為備忘去學習!
iphone iPhone開源專案彙總(更新版)
掃瞄wifi資訊 條形碼掃瞄 tcp ip的通訊協議 voip sip three20 google gdata 720全景顯示panoramagl jabber client plblocks image processing json 編碼解碼 base64 編碼解碼 xml解析 安全儲存使用者...
IPhone IPhone文章條列及鏈結
xcode how to create a xcode project template 如何建立xcode的專案樣板 iphone post to twitter 如何用 推送訊息到twitter iphone send sms sample with iphone 如何利用 傳送sms ipho...
使用UIWebView開發hybrid應用(二)
使用uiwebview開發hybrid應用 一 hybrid應用中,快取處理是比較棘手的。objective c有快取的類nsurlcache,官方給出的解釋是 it provides a composite in memory and on disk cache。也就是說,當應用關閉後,快取就失效...