- (void)willAnimateRotationToInterfaceOrientation:が呼び出されない。
.view.frameも変化しない。
カメラ自体を横向きに出来ても、画素そのものは回転しないからであろう。
写真アプリで画面を横にしてもボタンの(方向は変わるが)位置は変わらないのはそのためである。
しかし、強制的に回転処理を作り出すことは出来る。
回転に対する通知を登録し、それを受信してビューに細工すればいい。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil]; - (void)orientationChanged:(NSNotification *)notification
ただ、回転処理をOSに代わって行う必要があるため、かなり面倒である。
ラベルは、文字列には縦書きがないため基本的に使えないし、
アイコンを使うなら回転したアイコンを用意する必要がある。
実はこれをうまく処理する方法もある。Viewを回転させれば良いのである。
UIKitはよく出来ていてViewを回転させると、その上にある各要素の座標も適宜変換してくれる。だから、ボタンなども、回転後の位置でちゃんと効く。
具体的な方法は省略。
少しは自分で調べよう、と言うことで。
0 件のコメント:
コメントを投稿