我有一个应用程序商店支持版本 ios5+ 的应用程序。当我将此应用程序部署到商店时,基本 sdk 设置为 5.0,部署目标是 ios 5.0。它目前在 ios 5 和 6 设备上运行良好。
我已经将我的 IDE 升级到 ios 6.0 - 基础 SDK 是 6.0,部署目标是 5.0。但是,当我在 6.0 模拟器或设备中运行此应用程序时,由于该消息已贬值,我会遇到 shouldautorotate 问题。
- 为什么如果我的部署目标是 5.0 会给我这些问题 - 我不想使用 ios 6。
- 为什么我不能将我的基础 sdk 设置为 5.0?
更新: 这是我的控制器目前的外观。不幸的是,preferredInterfaceOrientation 只被调用一次,而不是每次方向改变时——这对我没有好处,因为我在这个方法中操作视图:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
[self layoutHomeViewButtons:toInterfaceOrientation];
return YES;
}
- (BOOL)shouldAutorotate
{
return YES;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}
- (NSUInteger)supportedInterfaceOrientations
{
[self layoutHomeViewButtons:[self getInterfaceOrientation]];
return UIInterfaceOrientationMaskAll;
}
更新 2: 我已经弄清楚如何调用 supportInterfaceOrientations 方法。在我的 MainWindow.xib 中,我将 navigationcontroller 设置为窗口的根视图控制器。作为这个导航控制器的一个子项,我有我的 homeviewcontroller 上面的代码所在的位置。
如果我更改此链接以使窗口的 rootviewcontroller 成为 homeviewcontroller,则调用该方法。但是我的用户界面需要这个导航控制器!