次のようなコードをよく見かけます。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return YES;
}
サポートされている向きがプロジェクト構成で設定されている場合、常に YES を返すだけでは意味がありませんか? または、これが影響を与える特定のケースはありますか?
次のようなコードをよく見かけます。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return YES;
}
サポートされている向きがプロジェクト構成で設定されている場合、常に YES を返すだけでは意味がありませんか? または、これが影響を与える特定のケースはありますか?
shouldAutorotateToInterfaceOrientation:
UISupportedInterfaceOrientations
(ちなみに、これは iOS 6 以降では非推奨です) は、info plistの とはまったく異なるものです! このメソッドを実装しない場合、 で何を指定しても、それぞれのビュー コントローラーはそのインターフェイスの向きに自動回転しませんUISupportedInterfaceOrientations
。
のドキュメントからUISupportedInterfaceOrientations
:
システムは、この情報と現在のデバイスの向きを使用して、アプリを起動する最初の向きを選択します。
アプリケーションの多くの部分で複数のインターフェイスの向きをサポートしているかもしれませんが、一部ではそれらの一部しかサポートしていません (たとえば、ビデオを横向きでのみ再生したい場合)。
したがって、アプリが縦向きをサポートしている場合でも、ビューコントローラーが向きを横向きにすることをお勧めします。
編集:他の回答にコメントできないため、ここにコメントしています。
iOS6 の @daniel-rinser では、システムはプロジェクトでサポートされているインターフェイスの向きをチェックし、viewcontroller でサポートされている向きと交差するため、起動だけでなく、すべてのアプリの実行に使用されます。