Collection等の新しい概念が導入され、レイアウトへの考え方が大きく変わりました。それに伴い、デバイスの向きに対する考え方も大きく変わっています。ClassiOS7以前は、Landscape/Portraitが変更されたことは、画面の向きが変わったという意味でハンドリングされてきました。いう意味で取り扱われます。UIKitでも触れられています。解説記事を見るよりも情報量は多いので、是非見てみてください。変えていく必要があります。Deprecated化されたメソッドなどiOS8からは、UIViewControllerのメソッドの中で、デバイスの回転を取り扱うものがdeprected化されています。duration:didRotateFromInterfaceOrientation:レイアウトの変更をハンドルするメソッドレイアウトの変更は以下のようなメソッドでハンドリングすることができます。Collectionが変更される時に呼び出されます。このため、以下のような場合には呼び出されません。iPadでデバイスを回転する場合iPhoneで180度デバイスを回転する場合このメソッドをオーバーライドする場合は、superを呼び出してください。Collectionの変更に関わらず呼び出されるので、以下のような場合でも呼びだされます。iPadでデバイスを回転する場合iPhoneで180度デバイスを回転する場合このメソッドをオーバーライドする場合は、superを呼び出してください。このメソッドはデバイスの回転に特化したメソッドですので、回転に関連しないレイアウト変更をハンドリングしたい場合はviewWillLayoutSubviewsを使ってください。加えて、アプリケーションの起動時や、ViewControllerが初めてロードされたタイミングでも呼び出されます。これ以外のメソッドデバイスの回転がリサイズに置き換わりますので、レイアウトの変更に関連するメソッドも候補に挙げられます。didRotateFromInterfaceOrientation:を置き換えるときは、以下のような基準を元に考えれば良いと思います。updateViewConstraints等アプリケーションで実現したいことに応じて、どうハンドリングするべきかは変わります。サンプルやネットで見つけた記事を鵜呑みにせず、自分の頭で考えましょう。その他deprecated化されたもの上記で上げたもの以外にも、UIBarMetricsの中にdeprecated化されたものがあります。UIBarMetricsLandscapePhoneUIBarMetricsLandscapePhonePrompt新しく追加された以下の項目に置換えましょう。UIBarMetricsCompactUIBarMetricsCompactPrompt詳しくは、UIBarCommon.hを参照してください。withTransitionCoordinator:等のメソッドをオーバーライドしておくと良いです。そのうえで、共通化できる処理は別メソッドに切り出すなどしておけば整理できます。withTransitionCoordinator:のオーバーライドを追加した例です。duration:を削除してしまうだけで済みます。