2011-05-02 4 views
5

私はカスタムタブバーを追加しました。タブにはより多くのタブが含まれます。タブバーのインターフェイス方向の問題

[マイファースト]タブはポートレートモードのみをサポートしています。 2番目のタブはすべての向きになっています。

2番目のタブを選択して横向きモードにしてから横向きモードで最初のタブを選択すると、問題が発生します。その時、最初のタブビューはきれいに回転されますが、タブバーはランドスケープモードのままです。

このシナリオをどのように克服できますか? これは、カスタムタブバーコントローラにメソッドを回転させなければならないです

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
if (self.selectedIndex == 0) { 

    return [self.selectedViewController shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortrait]; 

} else if (self.selectedIndex == 1) { 

    return YES; 
} 

return NO;} 

この

まずナビゲーションコントローラの第一及び第二のビューコントローラで回転させなければならない方法がある

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
return (interfaceOrientation == UIInterfaceOrientationPortrait);} 

セカンド

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
return YES;} 
+0

ランドスケープのままのタブバーはカスタムですか?どのように画面に追加しましたか? –

+0

@Terente Ionut Alexandru \t \t navigationController_ [[UINavigationController alloc] initWithRootViewController:tabBarController_]; \t [self.window addSubview:navigationController_.view]; – xydev

答えて

3

Inはintにオートローテーションする必要がありますタブバを再描画する必要があります。self.windowから削除してもう一度追加してください。

[navigationController_.view removeFromSuperview]; 
[self.window addSubview:navigationController_.view]; 

編集:再描画する前にすべての向きに正しいフレームを設定する必要があります。

+0

言葉がない...それはうまくいった... :) +1 – xydev

+0

もう一度感謝.. – xydev

関連する問題