iPad UIInterfaceRotation为0,旋转在app-start上搞砸了

时间:2011-09-12 16:26:46

标签: iphone ios sdk autorotate uideviceorientation

我想我错过了苹果手册中非常重要的东西,导致我遇到这些问题。

我将描述我想拥有什么以及我得到什么以及我做了什么。

序言

  • 我的工作目标是一个具有登录屏幕的应用程序。这个屏幕应该被放置在所有其他视图的顶部,以便稍后淡出。所以在这种情况下,我想我已经违反规则,以防我理解“只有一个主窗口指南”正确。

我想要的是什么:

  • 拥有通用申请√检查
  • 拥有一个只有iPad的UIInterfaceRotation的通用应用程序√检查
  • 在启动时没有关于uiinterfaceorientation或uideviceorientation的麻烦,允许我以适当的尺寸显示所有视图,而无需旋转几次以使其完全正确定位。 - 未选中

我得到了什么:

  • 当我在横向启动应用程序时,这是我在interface-Builder中的视图的默认方向,它的perfeclty对齐,我可以旋转所有我想要的,它的完美,保持完美,万岁
  • 当我以纵向方式启动应用程序时,我看到屏幕上的景观 - 每次都在不同的节奏 - 至少看起来像。当我现在,前后旋转应用程序时,它全部按照应有的方式对齐 - 也完全按照需要。

我的所作所为:

  • 所有与旋转相关的设置中有99%是在界面构建器中进行的,我目前只有一些改变方法可以在旋转完成后更改背景图像等等。

我注意到,即使我在设备知道其方向后构建屏幕,也会导致这种情况。

所以换句话说:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
      [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
      [self addEventListener:UIDeviceOrientationDidChangeNotification sel:@selector(buildScreen)];
       ....

注意:addEventListener是我创建的一个小通知类别,以便于处理。所以这里没有魔力。

在构建屏幕中

我添加所有子视图。 首先,在后台的实际屏幕,这个屏幕将获得登录为子视图(这无关紧要,因为当我添加登录到主窗口本身,情况是一样的。)

所以在这种情况下,我真的不知道接下来会做什么。 一旦设置了方向对齐,它就完全适合我在IB中定义的。

任何帮助,链接,代码等,表示赞赏。非常感谢你!我试图寻找这个,只是发现了许多类似的问题,没有解决方案。所以有点遗憾,以防我似乎问同样的问题,如果我真的那么大的问题。

最好的问候

2 个答案:

答案 0 :(得分:0)

我通常不会推荐这个,因为我认为这对用户来说很烦人,但你可以试试Info.plist设置

Initial interface orientation

并将其设置为横向,如果这适合您。

可能是临时解决方法。我认为你的问题比一个简单的暗示修复要复杂得多。

答案 1 :(得分:0)

我找不到合适的解决方案,所以我用multiple-xib个文件来完成它。它很烦人,但效果很好。