自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iPhone開發(fā)應(yīng)用點(diǎn)滴學(xué)習(xí)

移動(dòng)開發(fā) iOS
本文主要介紹的是iphone開發(fā)圖片、方法等的一些應(yīng)用,通過小實(shí)例來實(shí)現(xiàn)內(nèi)容的要點(diǎn),先來看詳細(xì)內(nèi)容。

iPhone開發(fā)點(diǎn)滴是本文要介紹的內(nèi)容,主要介紹的是iphone開發(fā)中常用的一些小實(shí)例,在這作為一個(gè)小備忘來學(xué)習(xí)。先來看詳細(xì)內(nèi)容。

iPhone中圖片的拉伸/圓角處理(Image round corner, aspect fit)

圖片圓角 image round corner:

  1. m_mainImgView.layer.cornerRadius = 6;  
  2. m_mainImgView.layer.masksToBounds = YES

自動(dòng)適應(yīng),保持圖片寬高比 aspect fit:

  1. m_mainImgView.contentMode = UIViewContentModeScaleAspectFit;  

圖片拉伸 iphone

  1. UIImage *btnImage = [UIImage imageNamed:@"btn_normal"];  
  2. CGFloat capWidth = btnImage.size.width / 2;  
  3. CGFloat capHeight = btnImage.size.height / 2;  
  4. btnImage = [btnImage stretchableImageWithLeftCapWidth:capWidth topCapHeight:capHeight]; 

類型轉(zhuǎn)換將NSString 轉(zhuǎn) NSdata

  1. NSString* str= @"teststring";NSData* data=[str dataUsingEncoding:NSUTF8StringEncoding];  

由init、loadView、viewDidLoad、viewDidUnload、dealloc的關(guān)系說起

init方法

在init方法中實(shí)例化必要的對象(遵從LazyLoad思想)

init方法中初始化ViewController本身

loadView方法

當(dāng)view需要被展示而它卻是nil時(shí),viewController會(huì)調(diào)用該方法。不要直接調(diào)用該方法。

如果手工維護(hù)views,必須重載重寫該方 法

如果使用IB維護(hù)views,必須不能重載重 寫該方法

loadView和IB構(gòu)建view

viewDidLoad方法

重載重寫該方法以進(jìn)一步定制view

在iPhone OS 3.0及之后的版本中,還應(yīng)該重載重寫viewDidUnload來釋放對view的任何索引

viewDidLoad后調(diào)用數(shù)據(jù)Model

viewDidUnload方法

當(dāng)系統(tǒng)內(nèi)存吃緊的時(shí)候會(huì)調(diào)用該方法(注:viewController沒有被dealloc)

內(nèi)存吃緊時(shí),在iPhone OS 3.0之前didReceiveMemoryWarning是釋放無用內(nèi)存的唯一方式,但是OS 3.0及以后viewDidUnload方法是更好的方式

在該方法中將所有IBOutlet(無論是property還是實(shí)例變量)置為nil(系統(tǒng)release view時(shí)已經(jīng)將其release掉了)

在該方法中釋放其他與view有關(guān)的對象、其他在運(yùn)行時(shí)創(chuàng)建(但非系統(tǒng)必須)的對象、在viewDidLoad中被創(chuàng)建的對象、緩存數(shù)據(jù)等

release對象后,將對象置為nil(IBOutlet只需要將其置為nil,系統(tǒng)release view時(shí)已經(jīng)將其release掉了)

一般認(rèn)為viewDidUnload是viewDidLoad的鏡像,因?yàn)楫?dāng)view被重新請求時(shí),viewDidLoad還會(huì)重新被執(zhí)行

viewDidUnload中被release的對象必須是很容易被重新創(chuàng)建的對象(比如在viewDidLoad或其他方法中創(chuàng)建的對象),不要release用戶數(shù)據(jù)或其他很難被重新創(chuàng)建的對象

dealloc方法

viewDidUnload和dealloc方法沒有關(guān)聯(lián),dealloc還是繼續(xù)做它該做的事情

舉例: lyttzx.com

  1. - (void)viewDidUnload { lyttzx.com  
  2.     self.startButton = nil;  
  3.     [setupViewController release];  
  4.     setupViewController = nil;   
  5. } copyright lyttzx.com  
  6. - (void)dealloc {   
  7.     [startButton release]; copyright lyttzx.com  
  8.     [setupViewController release]; 泠云工作室  
  9.     [super dealloc];  
  10. }   
  11.      [super dealloc];  

默認(rèn)release view的方法是didReceiveMemoryWarning,這個(gè)方法會(huì)檢測能否安全的release這個(gè)控制器的view,如果可以安全 release view的時(shí)候,releae之,然后才會(huì)去調(diào)用viewDidUnload。

如果當(dāng)前顯示的控制器收到了memory warning,調(diào)用didReceiveMemoryWarning,但這時(shí)并不能release 當(dāng)前控制器的view,所以就不會(huì)調(diào)用viewDidUnload了。

小結(jié):iPhone應(yīng)用開發(fā)點(diǎn)滴學(xué)習(xí)的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)對你有所幫助,你也可以作為備忘去學(xué)習(xí)!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-08-05 14:48:06

iPhone應(yīng)用 異步隊(duì)列

2011-07-27 11:14:37

iPhone UITableVie

2011-07-27 10:13:23

Cocos2D iPhone

2011-08-09 17:29:29

iPhone文件屏幕

2011-07-28 15:11:23

iOS Objective-

2011-08-18 10:39:46

iPhone開發(fā)界面

2011-08-08 14:57:46

iPhone Autoreleas Property

2011-08-09 17:12:30

iPhoneCFRunLoop

2011-08-15 17:38:48

iPhone開發(fā)調(diào)試工具

2011-08-15 18:02:32

iPhone開發(fā)表視圖

2011-08-19 11:10:31

iPhone應(yīng)用

2011-08-12 09:48:24

iPhoneCoreLocatio定位

2011-08-02 14:35:11

IOS應(yīng)用

2011-08-15 10:06:22

iPhone開發(fā)nib 文件

2011-08-01 18:27:58

iPhone開發(fā) UISearchBa

2011-08-08 16:56:44

iPhone 字符處理 視圖

2011-08-10 10:10:21

iPhoneUIPopoverCo

2011-07-19 09:46:38

2011-07-08 14:58:16

iPhone Xcode iOS

2011-07-19 09:58:36

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號