意識しなくても、常にそれっぽい向きに出力されているからだ。
しかし、意識せざるを得ない状況は確かに存在する。
それは、UIImagePickerControllerをカメラモードで表示した場合だ。
この場合、開発者の手の届く範囲は、cameraOverlayViewが精一杯と行ったところだろう。
しかし、問題がある。
cameraOverlayViewに登録したViewのViewControllerには、
shouldAutorotateToInterfaceOrientation:の通知が来ない。
つまり、cameraOverlayViewはiPhoneの向きに合わせて回転してくれない。
これを解消するために、notificationCenterから通知を受けて、
無理くり画面を回転させる方法をとる。
事の発端はここなのかもしれないが、
こうする事で、画面は回る。回るのだが、回転するのは画面だけだ。
ここで、他アプリ通知でAlertが表示されたりすると、
画面(cameraOverlayView)は横を向いているのに,
Alertは順方向で表示される。
されてしまう。
これを解消するための方法は、ある。
まず覚えておかなければならないのは、
Alertの表示方向は、stautsBarの位置に影響される。
(statusBarの表示/非表示には関係ない)
つまり、cameraOverlayViewの回転と同時に
[UIApplication sharedApplication].statusBarOrientationを使って
statusBarの位置を調整する。
これで、Alertの向きは正しく表示される。
カメラも安心だ。