Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
手动iPhone旋转位置不正确_Iphone_Objective C_Rotation - Fatal编程技术网

手动iPhone旋转位置不正确

手动iPhone旋转位置不正确,iphone,objective-c,rotation,Iphone,Objective C,Rotation,我已经设法手动检测旋转,并在两个UIViewController之间设置我自己的旋转效果。在第一个动画中,旋转到横向会提示使用手动动画推动第二个动画。状态栏将移动到正确的方向。但是,第二个UIViewController加载的视图不在我预期的位置。取而代之的是状态栏左侧的边距和底部的边距/空间,我希望该视图能够填充这些边距/空间 点击放大。橙色框仅用于引用旋转UIView、CustomView中的0,0 我在视图控制器中用于旋转的代码是: -(void)loadView { Custom

我已经设法手动检测旋转,并在两个UIViewController之间设置我自己的旋转效果。在第一个动画中,旋转到横向会提示使用手动动画推动第二个动画。状态栏将移动到正确的方向。但是,第二个UIViewController加载的视图不在我预期的位置。取而代之的是状态栏左侧的边距和底部的边距/空间,我希望该视图能够填充这些边距/空间

点击放大。橙色框仅用于引用旋转UIView、CustomView中的0,0

我在视图控制器中用于旋转的代码是:

-(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];
}
任何帮助都将不胜感激


编辑在各种尝试和错误方法后设法解决-答案如下。也许有一个更优雅/明显的解决方案——如果有,请随时提供

在ViewController上尝试这些。解决了20像素状态栏高度剪辑问题,当时我正在显示全屏子视图

[viewcontroller1.view setCenter:CGPointMakeviewcontroller1.view.center.x,viewcontroller1.view.center.y-20]

和/或


[viewcontroller2.view setCenter:CGPointMakeviewcontroller2.view.center.x-20,viewcontroller2.view.center.y]

我通过在转换后设置视图的边界来解决这个问题:

self.view.bounds = CGRectMake(20, -20, 480, 300);