質問

私は現在私が変換している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 {

最初にこれを確認してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top