我在故事板模式下创建了一个通用应用程序。它被设置为自动旋转到当前方向。当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与其商店相关联,黑屏仍会显示。
答案 0 :(得分:2)
您的landscape
变量为零。这就是你得到黑屏的原因。你需要将它设置为UIView。