我似乎遇到了与这篇文章相反的问题:
当我向 Apple 提交我的付费应用程序时,XCode 让我在我的测试设备上更新到 iOS 6。我使用 XCode 中的 GUI 将我的应用程序设置为仅在 iPhone 上以纵向模式显示,在 iPad 上仅以横向模式显示。这适用于我的 iOS 6 iPhone 和 iPad。然而,在 iOS 5 中,iPad 允许应用程序旋转到纵向,将我的按钮显示在不应该存在的类似信箱的黑色区域中,并且反复崩溃。
我正在使用导航控制器和情节提要。
我知道 shouldAutorotateToInterfaceOrientation 在 iOS 6 中已被弃用,但认为它仍应在 iOS 5 中调用,我尝试了以下操作:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
if ((UIDeviceOrientationIsLandscape(UIDeviceOrientationLandscapeLeft))||(UIDeviceOrientationIsLandscape(UIDeviceOrientationLandscapeRight))) {
return YES;
}
else return NO;
}
else
{
if ((UIDeviceOrientationIsLandscape(UIDeviceOrientationPortrait))||(UIDeviceOrientationIsLandscape(UIDeviceOrientationPortraitUpsideDown))) {
return YES;
}
else return NO; }
// Return YES for supported orientations
}
上面的代码似乎什么也没做。我把它放在我的每个视图控制器中;看来我真的应该把它放在我的导航控制器中,但是因为我以图形方式设置它,我不知道该怎么做。我必须继承我的导航控制器并在代码中完成所有事情吗?必须有一种方法可以为此使用情节提要设置!
(注意:我没有使用 AutoLayout 并且显然不能,因为我包含了一些不喜欢它的软件。)
这可能是什么原因造成的?我想在太多人购买该应用程序并抱怨之前修复它!提前致谢...