1

現在、iPhone アプリケーションにはポートレート モードしかありません。アプリケーションの 1 つのコントローラーでランドスケープ モードを許可したいのですが、残念ながらそれを機能させることができません。

plist ファイルに次の設定があります。

<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
</array>

そして、これらのメソッドをコントローラーに実装しました。

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

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAllButUpsideDown;
}

-(BOOL)shouldAutorotate
{
   return YES;
}

アプリでナビゲーションコントローラーを使用しているので、それが問題である可能性があることに気づきました。をサブクラス化し、上記と同じ方法で を再度UINavigationController実装しました。もちろん、サブクラス化されたナビゲーションコントローラーを使用して、回転できるコントローラーを表示します。また、カテゴリごとにナビゲーションコントローラーのメソッドを上書きしようとしましたが、それも機能しません。shouldAutorotateToInterfaceOrientationsupportedInterfaceOrientationsshouldAutorotate

私は最初からアプリケーションに取り組んでおらず、コードを継承しています。ランドスケープをグローバルに制限する方法がいくつかある場合、それは私の場合かもしれません。テストには iPhone 6.0 シミュレーターを使用しますが、展開ターゲットは 5.0 です。ヒント/ヘルプに感謝します。

4

3 に答える 3

2

iOS6 では、コントローラーのビューをサブビューとして追加するのではなく、ウィンドウに rootViewController を設定する必要もあります。

このようなことをしている場合:

[window addSubview:someController.view];

次に、これを次のように変更してみてください。

[window setRootViewController:someController];

こちらのリンクもご覧ください。iOS6 の場合、Apple は次の 2 つの方法を導入しました。

supportedInter
  1. 面の向き:
  2. 自動回転する必要があります

それが役に立てば幸い。

シュマイス・ウル・ハック

于 2013-02-05T12:50:58.210 に答える
1

横向きにしたいコントローラーでこれを試してください

// override to allow orientations other than the default portrait orientation
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // return YES for supported orientations
    return UIInterfaceOrientationIsLandscape(interfaceOrientation); // support only landscape
}
于 2013-02-05T12:48:12.673 に答える
0
  1. ターゲットウィンドウに移動します。
  2. [概要]タブをクリックします。
  3. iPhone/iPadの展開情報->要件に応じてiPhoneとiPadでサポートされているインターフェイスの向きを設定します。詳細については、次の画像を参照してください。

ここに画像の説明を入力してください

于 2013-02-05T12:43:45.373 に答える