我想我错过了苹果手册中一些非常重要的东西,导致我遇到了这个问题。
我将描述我想要拥有什么以及我得到什么+我做什么。
前言:
- 我的工作目标是一个具有登录屏幕的应用程序。这个屏幕应该被放置在所有其他视图之上,以便稍后淡出。所以在这种情况下,我想我已经违反了一条规则,以防我正确理解“只有一个主窗口指南”。
我想要的是:
- 有一个普遍的应用√检查
- 有一个通用应用程序,它只有 iPad 的 UIInterfaceRotation √ 检查
- 在启动时没有关于 uiinterfaceorientation 或 uideviceorientation 的问题,这使我能够以适当的尺寸显示所有视图,而无需旋转几次以使其全部正确定位。- 未检查
我得到什么:
- 当我以横向启动应用程序时,这是我在界面生成器中的视图的默认方向,它的完美对齐并且我可以旋转我想要的所有东西,它的完美,保持完美,万岁
- 当我以纵向方式启动应用程序时,我看到屏幕上飞来飞去的横向视图 - 每次都以不同的速度 - 至少看起来是这样。当我现在来回旋转应用程序时,它会完全对齐 - 也完全符合需要。
我做什么:
- 99% 的旋转相关设置是在界面生成器中进行的,我目前只有一些更改方法来在旋转完成时更改背景图像等等。
我注意到,即使我在设备知道它的方向之后构建屏幕,它也会导致这种情况。
换句话说:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[self addEventListener:UIDeviceOrientationDidChangeNotification sel:@selector(buildScreen)];
....
注意:addEventListener 是我创建的一个小通知类别,以便于处理。所以这里没有魔法。
在构建屏幕中,我添加了所有子视图。起初,后台的实际屏幕,这个屏幕将登录作为子视图(这无关紧要,因为当我将登录添加到主窗口本身时,情况是一样的)。
所以在这种情况下,我真的不知道下一步该怎么做。一旦设置了方向对齐,它就完全符合我在 IB 中的定义。
任何帮助、链接、代码等,不胜感激。非常感谢!我试图搜索这个,只是发现了许多类似的问题,没有解决方案。所以有点抱歉,以防我似乎问了同样的问题,如果我真的问了,这是一个很大的问题。
最好的祝福