この方法を使用して、方向に応じていくつかのビューとサブビューを手動で回転させています。
CGAffineTransform landscapeTransform = CGAffineTransformMakeRotation(0);
landscapeTransform = CGAffineTransformTranslate( landscapeTransform, 0.0, 0.0 );
[self.navigationController.view setTransform:landscapeTransform];
CGRect theFrame = self.view.bounds;
self.navigationController.view.frame= CGRectMake(0, 0, 320, 480);
これで横向きから縦向きに回転できますが、横向きに回転しようとすると、フレーム CGRect は論理的な意味を持ちません ((200,-50, width, height) のように見えます)。縦向きのフレームを設定します。self.view.frame や境界などのフレームを取得すると、回転するたびに変化します。
より論理的でハードコードされていないフレームを設定するより良い方法はありますか?