2010-07-04 75 views
5

嗨我正在寫一個應用程序在xcode 3.2.3。我想要做的就是切換到另一種觀點,但我不確定這樣做的最佳方式。我能做到這一點無論這些2種方式...PresentModalViewController或addsubview?

PreferencesViewController *screen = [[PreferencesViewController alloc]initWithNibName:nil bundle:nil]; 

screen.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 

[self presentModalViewController:screen animated:YES]; 

[screen release]; 

或使用...

PreferencesViewController *screen = [[PreferencesViewController alloc]initWithNibName:nil bundle:nil]; 

[UIView beginAnimations:nil context:NULL]; 

[UIView setAnimationDuration:1.0]; 

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES]; 

[self.view addSubview:screen.view]; 

[UIView commitAnimations]; 

我有一些問題,這兩種方法。如果我使用presentModalViewController並在PreferencesViewController中模擬內存警告,那麼我的應用程序會崩潰。第二種方法並非如此。然而,第二種方法使得我的按鈕在翻轉動畫中看起來很奇怪。

有人能告訴我什麼是錯誤的和/或告訴我哪種方法是正確

感謝

回答

0

你可以嘗試這樣做,不要忘記釋放:

[self.navigationController pushViewController:[[YourViewController alloc] initWithNibName:nil bundle:nil] animated:YES]; 
0

PresentModalViewController: -

YourViewController *vC = [YourViewController alloc]initWithNibName:@"YourViewController" bundle:nil]; 
vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:vC animated:YES]; 
[vC release]; 

這對我來說

工作正常試試這個code.All最好的