向きが変化したときに表示サイズを変更します
-
20-09-2019 - |
質問
私はUIViewのサブクラスは、それが縦向きに装着されたときに、風景モードで装着したときにある一定の大きさと、別のサイズを有するように動作します。
向きは、それがこの「理想的なサイズ」を持っていることを変更したときに、それをリサイズのビューコントローラに指示をビューを持つことは可能ですか?
明確にするために、私は、これは自動サイズ変更マスクで行うことができるものではないことを確信しています。私は必要なものだろうが、私は向きが変わったときに、それが呼び出されます表示されませんでした。
:私はまたsizeThatFitsはと思いました。私も、私は、これはスーパーのlayoutSubviewsをオーバーライド(または多分ビューコントローラの他のいくつかの方法で行わ取得することができますが、私は再利用を容易にするためのビューに埋め込まれ、この動作がしたいことを認識しています。
解決
デバイスが回転するとき、
あなたはいくつかのメッセージを取得します:
- shouldAutorotateToInterfaceOrientation:;
- willRotateToInterfaceOrientation:duration:;
- didRotateFromInterfaceOrientation:
あなたは、ユーザーが回転すると、あなたのビューをレイアウトし直すためにこれらを使用することができます。
あなたはビューコントローラを使用しない場合は、、あなたはUIDeviceOrientationDidChangeNotificationの通知を登録することができます。
所属していません StackOverflow