1

UIView サブクラスが、縦向きに取り付けられたときに特定のサイズになり、横向きに取り付けられたときに別のサイズになるように動作させたいと考えています。

ビューがこの「理想的なサイズ」を持っていることを向きが変わったときにサイズを変更しているView Controllerにビューを示すことは可能ですか?

明確にするために、これは自動サイズ変更マスクで実行できるものではないと確信しています。sizeThatFits: も必要だと思いましたが、向きが変わったときに呼び出されることはありませんでした。

また、スーパービューのlayoutSubviews(またはおそらくビューコントローラーの他のメソッド)をオーバーライドすることでこれを実行できることも認識していますが、再利用を容易にするためにこの動作をビューに埋め込みたいと思います.

4

1 に答える 1

2

デバイスが回転すると、いくつかのメッセージが表示されます。

- shouldAutorotateToInterfaceOrientation:;
- willRotateToInterfaceOrientation:duration:;
- didRotateFromInterfaceOrientation:

これらを使用して、ユーザーが回転したときにビューを再レイアウトできます。

ビュー コントローラーを使用したくない場合は、UIDeviceOrientationDidChangeNotification 通知に登録できます。

于 2010-03-17T02:57:48.927 に答える