0

4 つのタブを持つ Tabbar アプリケーションを作成しています。FirstTabView はすべての向きをサポートし、3 つの tabViews はすべて縦向きのみをサポートする必要があります。タブを SecondTabView に変更すると、向きを強制的に縦向きに変更する必要があります。これは、以下で使用したスト​​ーリーボードで可能ですFirstTabView.m のコード

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

および SecondTabView.m で

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

タブビューが横向きをサポートすることは許可されていません。

4

3 に答える 3

1

iOS 5 以前のバージョンでは、現在表示されているものだけでなく、tabBarController が自動回転するには、それぞれのタブの viewController が shouldAutorotateToInterfaceOrientation から YES を返す必要があります。

于 2012-10-18T06:36:35.827 に答える
0

はい。ストーリーボードで可能です。そのためには、どのタブが選択されているかを確認する必要があります。を使用して確認できます

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;

その中で、向きが必要な最初のビューコントローラーの条件を適用します。そこに向きを設定するか、別のビューコントローラーに適用します。

プログラミングを楽しみましょう。

于 2012-10-18T06:39:00.793 に答える
0

iOS6 でこの問題に直面していた場合 iOS6 では、Apple はデバイスの向きを管理する方法を変更しました。

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

Apple は iOS6 リリースでこのメソッドを非推奨にしました。そのため、このメソッドは今後 Apple ドキュメントから削除できます。デバイスの向きを管理したい場合は、iOS6 で導入された新しいメソッドを実装する必要があります。iOS6 リリースで行われた変更を確認する必要があります。 リンク

私はあなたがそれを試すことができるいくつかのコードを投稿しました。実装は簡単です。

このリンクにアクセスしてください

私はそれがあなたを助けるかもしれないと思う.

于 2012-10-20T20:51:33.903 に答える