界面旋转的iPad黑屏

时间:2012-01-07 21:21:18

标签: objective-c ipad rotation orientation

我在故事板模式下创建了一个通用应用程序。它被设置为自动旋转到当前方向。当iPad旋转时,它应该通过以下代码,但我得到的只是黑屏。

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
    self.view = landscape;
    self.view.transform = CGAffineTransformMakeRotation(deg2rad*(90));
    self.view.bounds = CGRectMake(0.0, 0.0, 1024.0, 748.0);
} else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
    self.view = landscape;
    self.view.transform = CGAffineTransformMakeRotation(deg2rad*(-90));
    self.view.bounds = CGRectMake(0.0, 0.0, 1024.0, 748.0);
} else {
    self.view = portrait;
    self.view.transform = CGAffineTransformMakeRotation(0);
    self.view.bounds = CGRectMake(0.0, 0.0, 768.0, 1004.0);
}
} else {

}
}

为什么这里出现所有这些问题?发生了什么,我该如何解决这个问题?

编辑:调试控制台结果:po [landscape recursiveDescription] 我最终得到了这个回复:无法打印Nil对象的描述

编辑:即使UIViews与其商店相关联,黑屏仍会显示。

1 个答案:

答案 0 :(得分:2)

您的landscape变量为零。这就是你得到黑屏的原因。你需要将它设置为UIView。