uinavigationcontrollerナビゲーションスタックランドスケープモードの問題
-
01-10-2019 - |
質問
私は現在私が変換しているiPhoneアプリケーションを持っています ユニバーサルバイナリ iPadを使用する。レイアウトに関して必要なすべての実装を正常に実装して、完全なランドスケープ機能がアプリでサポートされるようになりました(以前は主にポートレートモードを使用してコンテンツを表示していました)。
しかし、私には1つの奇妙な問題があり、ランドスケープモードでのみ発生します。ビューコントローラーをスタックに押し込むと、 バックボタンの2つのタップ 前のビューコントローラーに戻ります!最初のタップには空白のビューが表示されますが、左側のバックナビゲーションボタンに同じ名前があるため、2番目のタップでコントローラーが前のビューに戻ります。
私はテストするiPadを持っていないので、シミュレータに依存しています。問題はiPhoneに表示されず、ポートレートモードに戻って回転しても表示されません。
私のアプリは、VC用にロードされたナビゲーションコントローラーを備えたTabbarControllerで構成されています。
//application delegate
- (void)applicationDidFinishLaunching:(UIApplication *)application
//....
WebHelpViewController *vc8 = [[WebHelpViewController alloc] init];
UINavigationController *nv8 = [[UINavigationController alloc] initWithRootViewController:vc8];
[self.tabBarController setViewControllers:[NSArray arrayWithObjects:nv1,nv2,nv3,nv4,nv5,nv6,nv7,nv8,nil]];
ランドスケープ機能を実装するために、UITABBARCONTROLLERは必要に応じてオートオテートするようにオーバーライドされます。
//CustomTabBarController.m
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [[(UINavigationController *)self.selectedViewController topViewController] shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}
... 正常に動作します。この方法を使用して新しいビューに移動します
SomeViewController *vc = [[SomeViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
[vc release];
これはシミュレーションエラーのみですか?この問題を修正するにはどうすればよいですか?
解決
別のように聞こえます ViewController
応答しています:
(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
最初にこれを確認してください。
所属していません StackOverflow