2

ControllerA、ControllerB、ControllerC、ControllerDという名前の4つのUIViewControllersがあります。

ControllerA は UINavigationStack の RootViewController です。

ControllerA *ca = [[ControllerA alloc]initWithNibName:@"ControllerA" bundle:nil];
UINavigationController *nv = [[UINavigationController alloc]initWithRootViewController:ca];
self.window.rootViewController = nv;

これがControllerBにプッシュされた後、それらは両方ともポートレイトにありますが、ここで問題が発生し、コントローラーCをランドスケープにしたいのです。

私は多くのコードを試しましたが、満足のいく解決策や機能する解決策はありましたが、ビューを角度に沿って変換することで回転させることができました -

[[UIApplication sharedApplication]]setStatusBarOrientation:UIInterfaceOrientationLandscapeRight
animated:YES];
self.view.transform = CGAffineTransformMakeRotation(M_PI/2);

しかし、今はControllerCにモーダルにControllerDを提示したいのですが、何らかの回転によって横向きになると、他のすべてのviewcontrollerの変換が妨げられます。

多くのことを行った後、文書化された方法でControllerCをランドスケープにするという同じ問題に戻りました。

4

1 に答える 1