2010-07-04 9 views
5

Hallo ich schreibe eine App in xcode 3.2.3. Ich möchte nur zu einer anderen Ansicht wechseln, aber ich bin mir nicht sicher, wie ich das am besten machen könnte. Ich kann es jedem dieser 2 Möglichkeiten ...PresentModalViewController oder addsubview?

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

screen.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 

[self presentModalViewController:screen animated:YES]; 

[screen release]; 

oder mit ...

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]; 

Ich habe einige Probleme mit diesen beiden Methoden. Wenn ich presentModalViewController benutze und eine Speicherwarnung im PreferencesViewController simuliere, stürzt meine App ab. Dies ist bei der zweiten Methode nicht der Fall. Die zweite Methode macht jedoch meine Tasten während der Spiegelungsanimation seltsam.

Kann mir jemand sagen, was falsch ist und/oder rate mir, welche Methode richtig ist.

Dank

Antwort

0

Sie können versuchen, dies zu tun, vergessen Sie nicht lösen:

[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]; 

Dies funktioniert gut für mich

Versuchen Sie diesen Code.All der beste