- Registriert
- 15.03.08
- Beiträge
- 108
Hallo,
einfach gesagt: Ich möchte meine App etwas interaktiver gestalten und wollte deswegen, dass, wenn das iPhone gedreht wird ein anderer Screen präsentiert wird. Gehen tut es so grob schon, allerdings ist die Darstellung noch etwas falsch: Wenn ich vom Portrait in den Landscape zum ersten mal drehe, erscheint mein neues View zwar, aber noch nicht im Landscape, sonder immer noch im Portrait-Mode. Um diesen Fehler zu behen, muss das iPhone kurz wieder in den Portrait-Mode gedreht werden(diesmal erfolgt keine aktualisierung des Screens?!) und dann wieder in den Landscape. Beim zweiten mal drehen in den Landscape-Modus dreht sich dann das modalView in den passenden Modus....Was schafft abhilfe? Hier der Code:
einfach gesagt: Ich möchte meine App etwas interaktiver gestalten und wollte deswegen, dass, wenn das iPhone gedreht wird ein anderer Screen präsentiert wird. Gehen tut es so grob schon, allerdings ist die Darstellung noch etwas falsch: Wenn ich vom Portrait in den Landscape zum ersten mal drehe, erscheint mein neues View zwar, aber noch nicht im Landscape, sonder immer noch im Portrait-Mode. Um diesen Fehler zu behen, muss das iPhone kurz wieder in den Portrait-Mode gedreht werden(diesmal erfolgt keine aktualisierung des Screens?!) und dann wieder in den Landscape. Beim zweiten mal drehen in den Landscape-Modus dreht sich dann das modalView in den passenden Modus....Was schafft abhilfe? Hier der Code:
Code:
- (void)application:(UIApplication *)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation{
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight];
if (oldStatusBarOrientation == UIInterfaceOrientationPortrait) {
rechner = [[RechnerViewController alloc] initWithNibName:@"RechnerViewController" bundle:[NSBundle mainBundle]];
//[application setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft];
[self.tabBarController presentModalViewController:rechner animated:YES];
NSLog(@"tadaaaa! mit alter orientation");
return;
}
if (application.statusBarOrientation == UIInterfaceOrientationPortrait) {
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
[self.tabBarController dismissModalViewControllerAnimated:YES];
[rechner.view removeFromSuperview];
rechner = nil;
NSLog(@"schwups und weg mit alter orientation:");
return;
}
}