手动iPhone旋转位置不正确
问题描述:
我设法手动检测旋转并在两个UIViewControllers之间设置自己的旋转效果。在第一个时候,旋转到横向提示第二个被手动动画推动。状态栏移动到正确的方向。但是,由第二个UIViewController加载的视图不在我期望的位置。相反,状态栏以前的左边有余量,底部有余量/空间,我期待被视图填充。手动iPhone旋转位置不正确
(点击放大橙色盒子是简单地引用其中,0,0是在旋转的UIView,CustomView)
的代码,我用我的视图控制器做旋转是:
-(void)loadView {
CustomView *customView = [[CustomView alloc] initWithFrame:CGRectMake(0, 20, 480, 300)];
self.view = customView;
CGAffineTransform rotate = CGAffineTransformMakeRotation(degreesToRadian(90));
[self.view setTransform:rotate];
[customView release];
}
任何帮助将不胜感激!
编辑经过多种试验和错误方法后解决 - 下面提供了答案。也许有一个更优雅/明显的解决方案,但如果愿意提供!
答
我设法改造后设置视图边界来解决这个问题:
self.view.bounds = CGRectMake(20, -20, 480, 300);
答
在视图控制器上试试这些。解决了我获得全屏子视图时出现的20像素(状态栏高度)剪辑问题。
[viewcontroller1.view setCenter:CGPointMake(viewcontroller1.view.center.x,viewcontroller1.view.center.y-20)];
和/或
[viewcontroller2.view setCenter:CGPointMake(viewcontroller2.view.center.x-20,viewcontroller2.view.center.y)];