1

iPhone アプリで非常に奇妙な動作が発生しました。

アプリは任意の向きで実行する必要があります。Plist キーはすべて設定され、shouldAutorotateToInterfaceOrientation常に を返しますYES

また、iPhone専用アプリですが、現時点ではiPadでしかテストできません。

さて、ポートレート モードで起動すると、すべて正常に動作します。ただし、ランドスケープ モードで起動すると、ビューはタッチ入力を受信せず、ボタンやジェスチャが機能しません。これは、ウィンドウが変更されない限り発生します。アプリを回転させてから横向きに戻すと、機能します。また、iPad の「2x」ボタンを押すと、アプリも正常に起動します。

すべてのビュー フレームを確認しましたが、すべて正しく描画されています。

シミュレーターで実行すると、最初の向きが無視され、縦向きモードで描画されます。

何が原因で、どのように解決することができますか?

4

1 に答える 1

4

これは iOS 6 に固有のものであることがわかりました (これは、iOS 6 を実行している iPad や iOS 6 iPad シミュレーターでさえ見られますが、iOS 5 を実行しているデバイス/シミュレーターでは見られません)。アプリの plist の「サポートされているインターフェイスの向き」の下にあるすべてのエントリを削除すると、この問題は解決するようです。または、Target 設定の [概要] 画面で [ステータス バー] 設定の [アプリケーションの起動時に非表示にする] オプションをオンにすると、これも修正されます。

ここに画像の説明を入力

これらのいずれかがバグを修正する必要がある理由は意味がありませんが、修正されているようです。

iOS 6 で「サポートされている向き」の微調整を使用すると、許可されたインターフェイスの向きをプログラムで制御できますsupportedInterfaceOrientations(iOS 5 では引き続き を使用できますshouldAutorotateToInterfaceOrientation:)。

于 2012-11-26T04:07:54.867 に答える