1

タイトルにあるように、アプリのATMの向きに大きな問題があります。別のスライドでは、向きをまったく制御できないようです。次のことを試しましたが、アプリで機能する/機能しない:

  • Xcodeは、任意のスライドでshouldAutorotateToInterfaceOrientationメソッドで指定されたコードをリッスンすることを拒否します。

  • Xcodeは、各スライドのstoaryboadに指定されている設定を聞くことを拒否します。

  • Xcodeはinfo-plistファイルをリッスンしますが、このファイルからは、アプリ内のすべてのビュー/スライドの向きのみを設定できます。一部のスライドで横向きモードを許可し、他のスライドで縦向きモードのみを許可したい。

アプリ内のすべてのUINavigationBars/Tabbarsを削除しようとしましたが、実際には最初のViewControllerとして1つのViewControllerのみを使用しましたが、問題は引き続き発生し、info-plistファイルからのみ方向を管理できます。基本的に、アプリは向きの設定を調整するinfo-plistファイル以外のものを聞くことを拒否しますか?

私は問題を理解するために最善を尽くしましたが、アップルが設定を調整するために提供するすべての可能な方法が少なくとも私のアプリでは機能しないため、これまでのところこれ以上大きな「アハモーメント」が得られたとは言えません。これを以前に経験した、または以前に問題について聞いたことがある人は他にいますか?

4

1 に答える 1

2

- (BOOL)shouldAutorotateToInterfaceOrientation:iOS 6 で廃止されました。

- (NSUInteger)supportedInterfaceOrientationsUIViewController サブクラスのメソッドをオーバーライドする必要があります。

例:

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft;
}

編集:

UINavigationController を使用している場合は、それもサブクラス化し、上記のロジックを実装する必要があります。これは期待される機能です。関連する StackOverflow Q/A:

iOS 6 のバグ: nav コントローラーをウィンドウ ルートとして使用すると、supportedInterfaceOrientations が呼び出されない

iOS 6 ローテーション: supportedInterfaceOrientations が機能しない?

UIViewController ごとに異なる supportedInterfaceOrientations を設定する

于 2012-10-31T19:34:02.110 に答える