我使用此方法根据方向手动旋转一些视图和子视图:
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,宽度,高度)。我也我必须为纵向设置框架,如果我得到self.view.frame或bounds或我检查的任何其他框架,它会在每次旋转时改变。
有没有更好的方法来设置更符合逻辑且不是硬编码的帧?