質問

一部の(すべてではない)画面で回転するアプリがあり、すべての画面に表示されるオーバーレイとしてUIViewを追加したいので、ウィンドウに追加すると思いました。現在の問題は、デバイスを回転させると画面は回転するが、オーバーレイビューは回転しないことです。

また、2つのUIViewControllerを使用してみました。1つは通常のもの、もう1つはオーバーレイビュー用でしたが、それに対する大きな期待はありませんでした。実際に回転するUIViewControllerは1つだけです。

それでは、オーバーレイを回転させるために回転する各View Controllerにコードを追加することなく、インターフェイスでオーバーレイを回転させる方法を教えてください。

役に立ちましたか?

解決

あなたの疑いは正しいと思います。各View Controllerにサブビューを追加する必要があります。理由はわかりませんが、複数のビューをウィンドウのサブビューとして追加すると、最初のビューのみがそのビューを取得します-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientationが各方向の変更で呼び出されます。

これを試したことはありませんが、オーバーレイビューコントローラーだけでなく、ナビゲーションコントローラーを含むウィンドウのサブビューとして追加する単一の親ビューコントローラーを作成できる可能性があります。たぶん-shouldAutotrotateToInterfaceOrientationを正しく呼び出すでしょう。繰り返しますが、これは試していないため仮想的なものですが、ウィンドウにオーバーレイビューを追加するだけでは機能しないことは確かです。

よろしく、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top