2012-05-09 28 views
0

我在我的應用程序的代碼做一個視圖控制器IOS:一個的viewController

SecondViewController *second = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil]; 
    [self.view addSubview:second.view]; 
    [second.view setFrame:CGRectMake(320, 0, 320, 480)]; 

    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.40]; //the double represents seconds 
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; 
    [second.view setFrame:CGRectMake(0, 0, 320, 480)]; 
    [UIView commitAnimations]; 

的過渡,它做工精細定製化; 但裏面第二個視圖控制器我有這樣的代碼消失這個視圖 - 控制

[UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.40]; //the double represents seconds 
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; 
    [self.view setFrame:CGRectMake(320, 0, 320, 480)]; 
    [UIView commitAnimations]; 

它做工精細,但什麼是釋放的方式,我在哪裏可以釋放第二個,我的Alloc當我把它? 如果我寫[self.view removeFromSuperView] ??是否發佈?

回答

0

您需要將它從superView中刪除,然後釋放您在代碼中分配的SecondViewController。

SecondViewController *second = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil]; 

因此,由於您擁有此對象,您需要釋放它。 隱藏第二種觀點,並從上海華盈取出後某處所以,你需要釋放它...

[second release]; 
+0

,但我不明白的地方我可以釋放它...因爲如果我釋放它,當我用第一個動畫顯示第二個,當我關閉它時說我已經釋放... – CrazyDev

+0

你需要在隱藏第二個視圖(控制器的視圖)之後釋放控制器 – Lefteris

+0

ok ...例如在viewwillappear中firstviewcontroller ......不是嗎? – CrazyDev

相關問題