質問

クイック問題:

私は2つのナビゲーションコントローラとUITabBarControllerを持っている。

[左と右のコントローラーそれらを呼び出すことができます]

は選択したデフォルトに残っコントローラ私は、新しいビューコントローラをプッシュすることができ、そのインターフェース検出方向ます。

右のコントローラのIオン

は、同じビューコントローラをプッシュすることができますが、それはインターフェースの向きを検出することができません、またはそのことについては、それもすべてT ___ T

でshouldAutoRotateInterface方法にはなりません

Haaalp !!

それは私がhidesBottomBarWhenPushedプロパティの使用を推進してることを任意の関連性は、View Contollerである場合。

役に立ちましたか?

解決

あなたのuitabbarcontrollerは、自動回転を実装していますか?自動回転を実装したいすべての子のViewControllerは、その親が自動回転を実装していなければなりません。

他のヒント

ほとんどの場合、これはあなたの問題です。

  

タブバーコントローラは、肖像画をサポート   デフォルトではオリエンテーションとしません   横向きに回転   ルートビューコントローラのすべてがサポートされていない限り、このような方位の。   場合は、デバイスの向き   変更は、タブバーコントローラを発生します   ビューコントローラのその配列を照会します。   それらのいずれかがサポートされていない場合は   オリエンテーション、タブバー   コントローラは変更されません。その   オリエンテーションます。

ソリューションは、あなたのビューにつながるすべてのビューコントローラ上で、次のメソッドをオーバーライドすることです。

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
    return YES;
}

たとえば、代わりにIBのデフォルトUITabBarControllerを使用して、ちょうど方法上記を含む独自のサブクラスで置き換えます。

私はこの上のパーティーに少し遅れだけど、私は私が肖像画で実行するために、常にたかったタブバーのアプリの起動時にオートローテーションで問題に遭遇します。

アプリのplistのは、両方の開始に必要な設定でのみがポートレートモードを許可し、すべての私の見解コントローラはポートレートモードのみを許可しています。しかし、私は風景の中に私のiPhoneを保持しているアプリを起動したときに、アプリが肖像画に始まったが、その後景観に回転!

クラスUITabBarControllerのカテゴリを使用してサブクラスUITabBarController、I単にオーバーライドshouldAutorotateToInterfaceOrientation:UITabBarController方法よりもむしろ。私は私のアプリデリゲートでこのコードが含まれています:

@implementation UITabBarController(UITabBarControllerCategory)

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

@end

美しく作品、そして非常に軽量です。

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