私のルート ビュー コントローラーの実装はsupportedInterfaceOrientations
ほとんど常に を返しますがUIInterfaceOrientationMaskAll
、それが を返すエッジ ケースが 1 つありますUIInterfaceOrientationMaskLandscape
。
ユーザーがデバイスを回転させた場合、これは機能しています。ただし、デバイスが縦向きモードで保持されているsupportedInterfaceOrientations
場合、ユーザーが手動でデバイスを回転させない限り、メソッドが呼び出されることはありません。
このメソッドの戻り値が変更されたことをプログラムでシステムに伝えるにはどうすればよいですか?
ドキュメントによると、私は呼び出すことができるはずですが、[UIViewController attemptRotationToDeviceOrientation]
これは何の効果もありません(supportedInterfaceOrientations
呼び出されず、画面が回転しません)。
この問題を解決するために他の人が投稿したさまざまな回避策を見つけましたが、私のテストではどれも機能しません。iOS 5.0 では動作したかもしれませんが、iOS 6.0 では動作しなかったのではないかと思います。
YES
ルート ビュー コントローラーのshouldAutorotate
メソッドに戻ります。