私のアプリケーションでは、ビューを管理するためにナビゲーション コントローラーを使用しています。私のログインページは、縦向きと横向きの両方のビューをサポートしています。ユーザーがログインすると、2 番目のビューがホームになり、ランドスケープ モードのみがサポートされます。私がやりたいことは、縦向きのホームページを使用してホームにログインしたユーザーが、デバイスが縦向きであっても横向きに表示されることです。
だから私がしたことは、次のようにホームページのviewWillAppear
方法でステータスバーの向きを横向きに変更することでした。
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationLandscapeRight animated:NO];
UIDeviceOrientation orien = [[UIDevice currentDevice] orientation];
}
shouldAutorotateToInterfaceOrientation
また、次のようにオーバーライドしました
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
私の問題は、ステータスバーが横向きに変更されても、私のUIViewController
(家)が横向きのままであることです。デバッグ中に、ステータスバーの向きを横向きに変更しても[[UIDevice currentDevice] orientation]
縦向きに戻ることがわかりました。私は一日中インターネットを使っていました。そして、他の人が提供する多くのソリューションを実装しましたが、私の一日は無駄になりました. これらの問題を解決するために私を導くことができますか?