新しいビューアコントローラ(新しいiOS 5 APIを使用)を組み込むことができるコンテナビューコントローラを作成しました。ポートレートの向きのみをサポートする子ビューコントローラが埋め込まれていて、デバイスが現在横向きになっている場合は、強制的に縦向きにしたいと考えています。コンテナビューコントローラでの方向の変更
ほとんどこれを行う[UIViewController attemptRotationToDeviceOrientation]
の方法が見つかりましたが、それほどではありません。実際には逆の方法で動作し、子ビューコントローラが埋め込まれていてデバイスが縦向きの場合、横向きに回転できます(ただし、ビューコントローラは縦向きのままです)。次に埋め込みビューコントローラを閉じます。自動的にランドスケープに回転します。
現在の方向をサポートしていない子ビューコントローラを埋め込むときにコンテナビューコントローラを強制的に回転させる方法はありますか?
を持っています。私が正確に理解すれば、私は過去に似たようなことをしていたと思います。 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { //任意の向きを許可するようにオーバーライドしました。 if(embeded child)がNOを返します。 \t return YES; } – BBog
はい、現在行っています。問題は、子ビューコントローラが埋め込まれているときにコールバックが呼び出されないということです。ローテーション中、またはデバイスの向きと一致しない向きで '[UIViewController attemptRotationToDeviceOrientation] 'を呼び出すときのみ。 –